创建针对 LDAP 数据存储区进行表单身份验证的 Project Web Access 网站

更新时间: 2007年6月

 

上一次修改主题: 2008-04-11

本文介绍如何创建针对轻型目录访问协议 (LDAP) 数据存储区进行表单身份验证的 Project Web Access 网站,其中详细介绍了进行此类身份验证的下列步骤:

  1. 具有一个可用的 LDAP 数据存储区

  2. 备份网站的 Web.config 文件

  3. 扩展 Web 应用程序以创建使用表单身份验证的网站

  4. 指定网站的身份验证方法

  5. 编辑用于新网站和 SharePoint 管理中心网站的 Web.config 文件

  6. 验证与 LDAP 目录的通信

  7. 向 Project Server 添加用户帐户

    提示

    这些过程是通过管理中心、Project Web Access Server 设置和 Internet 信息服务管理器进行的。请验证您是否具有执行这些过程的正确权限。

具有一个可用的 LDAP 数据存储区

您必须拥有一个可针对它对 Project Server 用户进行身份验证的 LDAP 数据存储区。该存储区可能已存在于网络操作系统 (NOS) 目录服务中,或者,您可以通过外部 LDAP 目录服务创建一个 LDAP 数据存储区。

外部 LDAP 目录服务的一个示例为 ADAM(Active Directory 应用程序模式)。有关详细信息,请参阅使用 Active Directory 应用程序模式 (ADAM) 目录服务创建 LDAP 数据存储

备份网站的 Web.config 文件

若要启用针对 LDAP 数据存储区进行的表单身份验证,您需要编辑多个 Internet Information Services (IIS) 网站配置文件。最佳方案是,您应为每个配置文件保存一个备份副本。

创建 IIS Web 配置文件的备份副本

  1. 在 Windows 资源管理器中,浏览到 <驱动器>\Inetpub\wwwroot\wss\VirtualDirectories\。此目录包含各个 Windows SharePoint Services Web 应用程序网站的文件。

    默认情况下,此阶段至少应存在三个子目录。一个子目录以 Project Web Access 默认网站的 Web 应用程序所使用的端口命名,另一个子目录的名称是共享服务提供程序的 Web 应用程序所用端口的名称,第三个子目录的名称是管理中心的 Web 应用程序所用端口的名称。

    提示

    如果需要验证哪个 Web 应用程序使用哪个端口,请运行 Internet 信息服务管理器。

  2. 打开 Project Web Access 网站的 Web 应用程序所使用的文件夹,复制 Web.config 文件,将副本保存到其他位置。您可能需要将该文件重命名为其他名称(例如,如果此 Web 应用程序使用端口 80,请将其另存为 Web.config80)。

  3. 打开管理中心的文件夹,复制 Web.config 文件,然后将其保存到其他位置。您可能需要将该文件重命名为其他名称(例如,将其另存为 Web.configCA)。

    如果需要从备份存储文件,请将这些文件复制到其原始文件夹,并对其进行重命名以覆盖要替换的副本。

    提示

    在备份网站的 Web.config 文件时,请注意不要对 Windows SharePoint Services 进行任何配置更改。在尝试对 Windows SharePoint Services 进行配置更改时打开 Web.config 文件可能会取消所做的更改。

扩展 Web 应用程序

用于默认区域的 Project Web Access 网站具有一个 Web 应用程序和一个配置数据库。

提示

此 Web 应用程序可以使用许多端口中的任意一个。为了在本文稍后部分轻松引用此 Web 应用程序,假定它使用端口 80。

必须扩展 Web 应用程序才能为要利用表单身份验证的用户创建新网站。此网站将使用与默认网站相同的配置数据库。但是,它将通过另一个端口访问 Project Server,并且需要针对以前创建的 LDAP 数据存储区对此网站的用户进行身份验证。

此过程可通过管理中心执行。

扩展 Web 应用程序

  1. 在管理中心中,转到“应用程序管理”。在“SharePoint Web 应用程序管理”部分,单击“创建或扩展 Web 应用程序”。

  2. 在“创建或扩展 Web 应用程序”页上,单击“扩展现有 Web 应用程序”。

  3. 在“将 Web 应用程序扩展到其他 IIS 网站”页上的“Web 应用程序”部分,转到“Web 应用程序”列表并选择“更改 Web 应用程序”。单击 Project Web Access 默认网站的 Web 应用程序。

  4. 在“IIS 网站”部分的“端口”框中键入唯一的端口号(例如,90)。该端口号将反映在新网站的说明中(例如,“SharePoint - 90”)。

  5. 在“负载平衡的 URL”部分的“区域”框中,选择要创建的网站的区域。

  6. 单击“确定”。

指定网站的身份验证方法

您可以通过以下步骤指定新网站的身份验证方法。

指定网站的身份验证方法

  1. 在 SharePoint 管理中心网站中,转到“应用程序管理”。在“应用程序安全性”部分,单击“验证提供程序”。

  2. 在“验证提供程序”页上的“Web 应用程序”菜单中,确保选择了 Project Web Access 网站的 Web 应用程序(在前面部分提及的使用端口 80 的 Web 应用程序)。

  3. 选择用于刚刚创建的扩展网站的区域(例如“Extranet”)。

  4. 在“编辑验证”页上,转到“验证类型”部分并选择“表单”。此选择将更改本页为您提供的其他配置选项。

  5. 在“成员资格提供程序名称”部分的“成员资格提供程序名称”框中,键入成员资格提供程序的名称。

    Important重要信息
    键入的名称必须与在网站的 Web.config 文件中输入的成员资格提供程序名称完全相符。此设置在 <Add> 元素的“name”属性中指定。有关编辑 Web.config 文件的详细信息,请参阅 用于 LDAP 表单身份验证的 Web.config 文件示例
  6. 单击“保存”。

编辑网站的 Web.config 文件

创建网站并为网站指定验证提供程序之后,请编辑网站的 Web.config 文件。这些更改用于指定 LDAP 数据存储区所在的位置以及网站的用户帐户在目录结构中的存储位置。

需要为以下网站编辑 Web.config 文件:

  • 针对 LDAP 数据存储区进行表单身份验证的新建网站

  • SharePoint 管理中心网站

必须配置管理中心的 Web.config 文件,以便管理中心服务知道在什么位置对通过 Windows SharePoint Services 添加的用户进行身份验证。

如果您仅有一个网站要使用基于表单的身份验证,则对用于此网站和管理中心的 Web.config 文件的更改将是相同的。如果您有多个网站要使用基于表单的身份验证,则用于管理中心的 Web.config 文件将需要所有网站的相关信息。有关详细信息,请参阅 用于 LDAP 表单身份验证的 Web.config 文件示例

下面的过程假定存在一个要使用表单身份验证的网站。

编辑 Web.config 文件以使用 LDAP 表单身份验证提供程序

  1. 在 Windows 资源管理器中,浏览到 <驱动器>:\Inetpub\wwwroot\wss\VirtualDirectories**\**。浏览到使用表单身份验证的新网站的文件夹。该文件夹名称应体现端口号。(例如,如果网站的端口为 90,则相应文件夹为 90。)

  2. 在网站的文件夹中,使用文本编辑器打开 Web.config 文件。

  3. <configuration> <system.web> </system.web> </configuration> 元素中,输入要针对其进行身份验证的 LDAP 数据存储区的配置信息。例如,以下配置信息将使用通过使用 Active Directory 应用程序模式 (ADAM) 目录服务创建 LDAP 数据存储中介绍的 ADAM 实用程序创建的示例 LDAP 数据存储区:

    <membership defaultProvider="ADAMMembership">
      <providers>
       <add     
        name="ADAMMembership"
        type="Microsoft.Office.Server.Security.LDAPMembershipProvider, 
            Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, 
            PublicKeyToken=71E9BCE111E9429C"
        server="ps2007ldap"
        port="50000"
        useSSL="false"
        userDNAttribute="distinguishedName"
        userNameAttribute="cn"
        userContainer="CN=Users,OU=Support,O=fabricam,C=US"
        userObjectClass="user"
        userFilter="(ObjectClass=user)"
        scope="Subtree"
        otherRequiredUserAttributes="sn,givenname,cn" />
      </providers>
    </membership>
    

    </system.web> 结束标记之前插入此文本,以确保您所做的更改不会影响任何其他 XML 数据。请确保在正确位置插入文本,因为在 XML 文件后面还存在其他 <system.web> 标记。

    提示

    有关编辑 Web.config 文件的详细信息,请参阅 用于 LDAP 表单身份验证的 Web.config 文件示例

  4. 保存对文件所做的更改。

  5. 在 Windows 资源管理器中,打开管理中心的 Web.config 文件。在此文件的同一位置输入您在步骤 3 中输入的同一文本信息。

  6. 保存对文件所做的更改。

验证与 LDAP 目录的通信

编辑完所有网站的 Web.config 文件之后,您可以立即验证与 LDAP 目录的通信。可通过“管理中心”中的“添加用户”页来执行此操作。您需要测试您的任一用户是否能通过 LDAP 目录的验证。如果帐户不可识别,并且您知道它位于 LDAP 目录中,请检查 Web.config 文件中的设置。

请注意,此步骤是可选的。您可以绕过此步骤并通过 Project Web Access 将用户直接添加到 Project Server 中。不过,建议您运行此步骤以验证与 LDAP 目录的通信,这是最佳方案。如果您使用基于表单的身份验证在 Project Web Access 中添加用户,则无法验证与 LDAP 目录的通信。

验证与 LDAP 目录的通信

  1. 在管理中心中,转到“应用程序管理”。在“应用程序安全性”部分,单击“Web 应用程序的策略”。

  2. 在“Web 应用程序的策略”页中,转到“Web 应用程序”列表并验证是否选择了正确的 Web 应用程序(Project Web Access 的 Web 应用程序)。

  3. 单击“添加用户”。

  4. 在“添加用户”页上的“选择区域”部分,选择正确的区域,然后单击“下一步”。

  5. 在同一页的“选择用户”部分的“用户”框中,按以下格式向该网站添加用户:

    <成员资格提供程序名称>:<用户名>

    例如:

    ADAMMembership:PeterKrebs

    单击“检查姓名”图标以对 LDAP 目录验证用户名。如果该用户名通过您配置为对其进行身份验证的 LDAP 目录的验证,则该用户名会带有下划线。如果该名称无法通过验证,请检查您在管理中心网站的 Web.config 文件中所输入的信息。

  6. 无需选择权限,因为您只需验证与 LDAP 目录的通信,而不需要真正向 Windows SharePoint Services 添加用户。单击“上一步”。

  7. 在“添加用户”页上,单击“取消”。

向 Project Server 添加用户帐户

验证完与 LDAP 目录的通信后,您现在可以通过 Project Web Access 向 Office Project Server 2007 添加经过表单身份验证的用户帐户。

向 Project Server 添加经过 LDAP 表单身份验证的用户

  1. 在默认区域登录到 Project Web Access 网站。单击“服务器设置”。

  2. 单击“管理用户”。

  3. 在“管理用户”页上,单击“新建用户”。

  4. 在“新建用户”页上,为用户键入显示名称。然后选择“表单身份验证”。

  5. 输入用户登录帐户(例如,ADAMMembership:User1)。

  6. 针对用户的其他安全设置配置该用户。再单击“保存”。

此时您应该可以使用登录信息登录到经过 LDAP 身份验证的网站。