针对 SQL 成员资格提供程序为 Project Server 2007 Extranet 网站配置基于表单的身份验证

更新时间: 2010年2月

 

上一次修改主题: 2010-02-24

根据 SQL 成员资格提供程序为您的 Microsoft Office Project Server 2007 网站配置基于表单的身份验证需要以下步骤:

  • 配置基础结构   此步骤分为两部分:创建您计划在其中存储用户帐户信息的 SQL 成员资格提供程序数据库,创建 Internet Information Services (IIS) 网站,表单身份验证的用户可通过该网站访问 Office Project Server 2007。

  • 更新 Web.config 文件以添加 SQL 成员资格提供程序   向该网站的 Web.config 文件添加一个字符串,用于指定 SQL 成员资格提供程序。

  • 设置通过表单身份验证的用户帐户   创建要添加和导入到 SQL 成员资格提供程序存储区的所有经过表单身份验证的用户的 XML 列表。

提示

有关根据 SQL 成员资格提供程序配置基于表单的身份验证的详细信息,请参阅为 Project Server 2007 配置 SQL 成员资格提供程序表单身份验证

配置基础结构

如果配置可在其中将用户添加到 SQL 成员资格提供程序数据库的基础结构,需要执行以下步骤:

  • 创建 SQL 成员资格提供程序数据库

  • 为 SQL 成员资格提供程序配置新网站

创建 SQL 成员资格提供程序数据库

执行以下步骤可创建 SQL 成员资格提供程序数据库(称为 SQL Server 上的 SQL 成员资格存储区)。使用 SQL 成员资格提供程序访问 Office Project Server 2007 的所有经过表单身份验证的帐户都需要将其帐户信息导入到此数据库中。创建 SQL 成员资格存储区时用于连接 SQL Server 的 Windows 帐户将是以后将用户添加到数据库所需的表单管理员帐户。

在运行 SQL Server 的计算机上创建成员资格提供程序数据库

  1. 打开命令提示符窗口。

  2. 在任何目录下,输入:<Windows 目录>\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe -A m -E

    此命令将创建一个名为 aspnetdb 的数据库,-E 选项对您现有的 Windows 凭据进行身份验证。

    下表介绍了可用于 aspnet_regsql.exe 命令的其他重要参数。要获取该命令的所有选项的完整列表,请使用 -? 选项。

    参数 说明

    -d

    指定不同于默认名称 (aspnetdb) 的数据库名称。在参数后面输入数据库名称。例如:-d aspnetdb_testdbs

    -S

    在运行 SQL Server 的远程计算机上创建数据库。在参数后面输入使用其创建数据库的 SQL Server 实例名称。例如:-s SQLServerInstance

    -E

    对当前 Windows 凭据进行身份验证。

    -U

    如果使用的是 SQL 身份验证,则指定要进行身份验证的 SQL Server 用户名。在参数后面输入用户名。此参数需要 -P 参数。

    -P

    如果使用的是 SQL 身份验证,则指定要进行身份验证的 SQL Server 密码。在参数后面输入密码。此参数需要-U 参数。

指定网站的身份验证方法

通过以下过程可以将 SQL 成员资格提供程序指定为用于 Extranet 网站的基于表单的身份验证方法。此过程假设您已经扩展了 Web 应用程序来创建 Extranet 网站。有关扩展 Web 应用程序来创建 Extranet 网站的详细信息,请参阅为 Project Server Extranet 环境扩展 Web 应用程序

为 SQL 成员资格提供程序配置新网站

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

  2. 在“验证提供程序”页的“Web 应用程序”菜单上,确保选中了用于 Office Project Web Access Extranet 网站的 Web 应用程序。

  3. 选择用于刚创建的扩展网站的区域 (Extranet)

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

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

  6. 单击“保存”。

更新 Web.config 文件以添加 SQL 成员资格提供程序

您需要将 SQL 成员资格提供程序添加到新建的 IIS 网站的 Web.config 文件中。还需要对 Web 应用程序的经过 Windows 验证的网站的 Web.config 文件进行相同的更改。可以通过 IIS 管理器以及通过向该文件添加指向 SQL 成员资格提供程序数据库 (aspnetdb) 的项来实现此操作。

提示

还需要在服务器场中的所有前端 Web 服务器上执行此更改。

将 SQL 成员资格提供程序添加到 Web.config 文件

  1. 打开前端 Web 服务器上的 Internet 信息服务管理器,这可以通过以下操作实现:单击“开始”,单击“运行”,在“打开”框中键入 Inetmgr,然后单击“确定”。

  2. 在 IIS 管理器中,展开计算机名,然后单击“网站”文件夹。

  3. 在“网站”文件夹下,您将看到以前创建的网站。右键单击此网站,然后选择“浏览”。

  4. 右键单击 web.config,选择“打开”,然后使用编辑工具(如记事本)打开该文件。

  5. 将下面的项添加到 Web.config 文件。(最好紧随 </ConfigSections> 部分之后添加该项。)

    <connectionStrings>
    <remove name="LocalSqlServer" />
    <add name="LocalSqlServer" connectionString="data source=127.0.0.1;Integrated Security=SSPI;Initial Catalog=aspnetdb" />
    </connectionStrings>
    

    请确保连接字符串指向将在其中存储用户帐户的 SQL 成员资格提供程序数据库(例如,Initial Catalog=aspnetdb)。

提示

对已经扩展的 Web 应用程序的原始网站的 Web.config 文件执行相同的更改。还需要在服务器场中的所有前端 Web 服务器上进行此更改。

设置经过表单身份验证的用户帐户

通过 SQL 成员资格提供程序设置经过表单身份验证的用户帐户时,需要执行以下操作:

  • 创建用户帐户 XML 数据

  • 将用户数据导入到成员资格存储区

  • 将新用户帐户添加到 Project Server 安全组

创建用户帐户的 XML 数据

PjFormsAuthUpgrade.exe 工具是随 Office Project Server 2007 一起安装的。使用它可以将经过表单身份验证的用户添加到 SQL 成员资格存储区。在这一步中,该工具用于生成包含添加到 SQL 成员资格存储区的用户帐户数据的 XML 文件。它还自动生成存储区所需的其他信息,例如,GUID、登录名和密码。请使用下面的步骤通过 PjFormsAuthUpgrade.exe 工具将新用户添加到 SQL 成员资格提供程序数据库。按照下面的过程获取 Project Web Access 中不存在的新用户,并将其添加到 Project Server 和 SQL 成员资格存储区。

提示

PjFormsAuthUpgrade.exe 工具还用于将经过 Project Server 身份验证的帐户从 Project Server 2003 迁移到 SQL 成员资格存储区,本文没有说明这方面的信息。有关详细信息,请参阅为 Project Server 2007 配置 SQL 成员资格提供程序表单身份验证

为新用户创建 Users.xml 文件

  1. 在命令提示符窗口中,导航到包含 PJFormsAuthUpgrade.exe 的目录(默认位置为 Program Files\Microsoft Office Servers\12.0\Bin)。在命令提示符处键入下面的文本并为您的环境自定义该文件:

    PjFormsAuthUpgrade.exe -createemptyusersfile -log forms.log -url https://localhost/pwa -usersfile users.xml
    
    选项 说明

    -createemptyusersfile

    创建 Users.xml 文件。此文件可用作添加新用户的模板。

    -log

    生成日志文件,用于解决在运行 PjFormsAuthUpgrade.exe 工具时出现的问题。您可以指定日志文件的路径。如果未指定路径,则将在包含该工具的目录中创建此文件。

    -URL

    指定 Project Server URL。

    -usersfile

    创建 Users.xml 文件。您可以指定要创建的文件的路径。如果未指定路径,则将在包含 PjFormsAuthUpgrade.exe 工具的目录中创建此文件。

    运行命令。如果成功,则将在包含 PjFormsAuthUpgrade.exe 工具的目录中生成 Users.xml 文件(因为此示例中未指定任何路径)。

  2. 在记事本中打开 Users.xml 文件。此文件应类似于下面的示例:

    <?xml version="1.0"?>
    <Users xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="https://schemas.microsoft.com/Project/Users.xsd">
    <CreateUser>
    <DisplayName>Display Name</DisplayName>
    <EmailAddr>newuser@project.com</EmailAddr>
    <LogonName>LogonName</LogonName>
    <Password>Password</Password>
    <Guid>ab3ad5fe-6b56-41e8-a9d8-44af71b91dc4</Guid>
    <PasswordQuestion>Password Question</PasswordQuestion>
    <PasswordAnswer>Password Answer</PasswordAnswer>
    </CreateUser>
    <UpdateUser>
    <DisplayName>Display Name</DisplayName>
    <EmailAddr>upgradeduser@project.com</EmailAddr>
    <LogonName>LogonName</LogonName>
    <Password>Password</Password>
    <Guid>2e8c4617-1f38-42d2-8496-9c85eb761b5f</Guid>
    <PasswordQuestion>Password Question</PasswordQuestion>
    <PasswordAnswer>Password Answer</PasswordAnswer>
    </UpdateUser>
    </Users>
    
  3. 使用新用户的信息修改 Users.xml 文件。此文件应类似于下面的示例:

    <?xml version="1.0"?>
    <Users xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="https://schemas.microsoft.com/Project/Users.xsd">
    <CreateUser>
    <DisplayName>Jeff Smith</DisplayName>
    <EmailAddr>JSmith@test.com</EmailAddr>
    <LogonName>JeffSmith</LogonName>
    <Password>p@ssword1</Password>
    <Guid>ab3ad5fe-6b56-41e8-a9d8-44af71b91dc4</Guid>
    <PasswordQuestion>Password Question</PasswordQuestion>
    <PasswordAnswer>Password Answer</PasswordAnswer>
    </CreateUser>
    </Users>
    

    如果要添加其他用户,则需要添加并编辑 <CreateUser> 部分以包含新用户的信息。请确保增加您使用的 GUID,以便同一个 GUID 不会用于多个用户(还可以以编程方式增加 XML 文件中的 GUID)。

    要导入到 Project Server 中的数据现在包含在 Users.xml 文件中。因为这是一个 XML 文件,所以可以手动或以编程方式修改此文件。如果要更改工具自动生成的密码、显示名称、电子邮件地址或 GUID,您可以使用所选择的任何机制对其进行修改。

将用户数据导入到成员资格存储区

为新用户创建 Users.xml 文件之后,您可以使用 PJFormsAuthUpgrade.exe 工具将用户导入到 SQL 成员资格提供程序数据库。

在此过程中,此工具还会使用任何新用户帐户信息来更新 Office Project Server 2007。直到将新用户添加到 Project Server 安全组,他们才能访问 Office Project Server 2007。

提示

SQL 成员资格提供程序数据库的数据库所有者是唯一被允许将用户添加到存储区的帐户。请确保在添加经过表单身份验证的用户时使用此帐户登录。

运行 PjFormsAuthUpgrade.exe 工具以将用户导入到成员资格存储区

在命令提示符窗口中,导航到包含 PjFormsAuthUpgrade.exe 的目录,并使用下面的命令:

PjFormsAuthUpgrade.exe -log forms.log -url https://localhost/pwa -usersfile users.xml

例如:

PjFormsAuthUpgrade.exe -log c:\mydir\forms.log -url http://contoso/pwa -usersfile users.xml

将新用户添加到 SQL 成员资格存储区和 Project Server。

将用户添加到 Project Server 安全组

新用户必须添加到 Project Server 安全组,以便通过 Office Project Web Access 登录到 Office Project Server 2007。

使用 Project Web Access 将新用户添加到 Project Server 安全组

  1. 在 Project Web Access 主页上,单击“服务器设置”。

  2. 在“服务器设置”页上的“安全性”部分,单击“管理用户”。

  3. 在“管理用户”页的“用户名”列表中,单击刚添加的经过表单身份验证的新用户帐户的名称。

  4. 在所选用户的“编辑用户”页的“安全组”部分,从“可用组”列表中,选择要将用户添加到的组,然后单击“添加”以将所选组移动到“包含此用户的组”列表。

  5. 对用户帐户进行所需的任何其他更改,然后单击“保存”。

在命令提示符下将新用户添加到 Project Server 安全组

您也可以使用 Stsadm.exe 命令行工具在命令提示符下将用户添加到安全组。使用该工具时,您应该作为 Office Project Web Access 中的 Administrators 组的用户来运行它。

在命令提示符下将新用户添加到 Project Server 安全组

  1. 在命令提示符窗口中,转到以下目录:Program Files\Common Files\Microsoft Shared\Web server extensions\12\BIN。

  2. 运行以下命令:

    stsadm -o projmodifyuseringroup -url http://<服务器名称>/pwa -groupname*<要将用户添加到的组>-username<表单用户>*-addorremove add

    例如:

    stsadm -o projmodifyuseringroup -url http://contoso/pwa -groupname administrators -username Brad Sutton -addorremove add
    

    提示

    当使用命令行选项向 Project Server 安全组添加用户时,您只能通过每次运行可执行文件,将一个用户添加到一个安全组。但是,管理员可以创建脚本以自动完成此过程。

将用户添加到安全组后,用户可以使用经过 Project Web Access 表单身份验证的网站访问 Project Server。

另请参阅

概念

为 Project Server 2007 Extranet 环境配置用户身份验证
针对 LDAP 数据存储区为 Project Server 2007 Extranet 网站配置基于表单的身份验证