配置基于表单的身份验证 (Office SharePoint Server)

本文内容:

  • 关于基于表单的身份验证

  • 配置多个区域之间的基于表单的身份验证

  • 为“我的网站”Web 应用程序配置基于表单的身份验证

  • 为基于表单的身份验证配置 SSP

  • 配置用户配置文件和人员搜索

Microsoft Office SharePoint Server 2007 身份验证是通过某个可用验证提供程序支持的身份验证机制来执行。提供程序 是包含验证请求程序的凭据所需的代码的模块。Office SharePoint Server 2007 身份验证是基于 ASP.NET 身份验证模型构建的,并且包含三类身份验证提供程序:

  • Windows 身份验证提供程序

  • 基于表单的身份验证提供程序

  • Web 单一登录 (SSO) 身份验证提供程序

此外,ASP.NET 还支持使用可插入验证提供程序,这意味着您可以编写身份验证提供程序来支持要使用的任何凭据存储区。

关于基于表单的身份验证

基于表单的身份验证提供程序支持根据存储在 Active Directory、数据库(如 SQL Server 数据库)或轻型目录访问协议 (LDAP) 数据存储(如 Novell eDirectory、Novell Directory Services (NDS) 或 Sun ONE)中的凭据进行身份验证。基于表单的身份验证使用户可以基于从登录表单输入的验证凭据进行身份验证。未经身份验证的请求将重定向到登录页,用户必须在该页中提供有效凭据并提交表单。如果可以对请求进行身份验证,系统会发布一个 Cookie,其中包含用于重新创建后续请求的标识的项。

基于表单的身份验证提供程序支持根据以下任一项中存储的凭据进行身份验证:

  • Active Directory 目录服务

  • 数据库

  • LDAP 数据存储

若要为 Office SharePoint Server 2007 网站启用基于表单的身份验证并将用户添加到用户帐户数据库,请执行以下过程。

新建网站

  1. 在 SharePoint 管理中心网站的主页上,单击“应用程序管理”。

  2. 在“应用程序管理”页上,在“SharePoint Web 应用程序管理”部分中,单击“创建或扩展 Web 应用程序”。

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

  4. 在“新建 Web 应用程序”页上的“安全配置”部分中,确保选中“验证提供程序”下的“NTLM”,并在“允许匿名访问”下选择“是”。

  5. 使用默认设置完成新建 Web 应用程序的过程,并单击“确定”。

此时,您已创建了新的网站。可使用以下过程来创建网站集。

创建网站集

  1. 在顶部链接栏上,单击“应用程序管理”。

  2. 在“应用程序管理”页上的“SharePoint 网站管理”部分中,单击“创建网站集”。

  3. 在“创建网站集”页上的“Web 应用程序”部分中,验证是否已选中要在其中创建网站集的 Web 应用程序。

    如果未选中,请单击“Web 应用程序”菜单上的“更改 Web 应用程序”。在“选择 Web 应用程序”页上,单击要在其中创建网站集的 Web 应用程序。

  4. 在“标题和说明”部分中,键入网站集的标题和说明。

  5. 在“网站地址”部分中的“URL”下,选择用作您的 URL 的路径。

    备注

    如果选择通配符包含路径,则还必须键入要在网站的 URL 中使用的网站名称。可用于“URL”选项的路径来自已定义为包含通配符的托管路径列表。

  6. 在“模板选择”部分中的“选择模板”列表中,选择要用于网站集中的首要网站的模板。

  7. 在“网站集主管理员”部分中,输入将成为网站集管理员的用户的用户名(格式为“域\用户名”)。

  8. 如果要将用户标识为新的首要网站的第二所有者(推荐),请在“网站集第二管理员”部分中,输入网站集第二管理员的用户名。

  9. 如果要使用配额来限制网站集的资源使用,请在“配额模板”部分中,单击“选择配额模板”列表中的模板。

  10. 单击“确定”。

此时,您已创建网站集。可使用以下步骤来配置基于表单的身份验证提供程序。

配置基于表单的身份验证提供程序

  1. 在 SharePoint 管理中心网站的主页上,单击“应用程序管理”。

  2. 在“应用程序管理”页上的“SharePoint Web 应用程序管理”部分中,单击“Web 应用程序列表”。

  3. 在“Web 应用程序列表”页上,双击在上一过程中新建的 Web 应用程序。

  4. 在“应用程序管理”页上的“应用程序安全性”部分中,单击“验证提供程序”。

  5. 在“验证提供程序”页上,单击要配置其设置的验证提供程序对应的区域名称。

  6. 在“编辑验证”页上的“验证类型”部分中选择“表单”。

    如果需要明确授予网站集的匿名访问权,请在“匿名访问”部分中,为 Web 应用程序内的所有网站选中“启用匿名访问”复选框。若要为 Web 应用程序内的所有网站禁用匿名访问,则清除“启用匿名访问”复选框。

    备注

    如果在此处启用匿名访问,则在网站集级别或网站级别,匿名访问仍有可能被拒绝;但如果在此处禁用匿名访问,则会在 Web 应用程序内的所有级别上禁用匿名访问。

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

    备注

    如果 Web 应用程序支持基于表单的身份验证,则必须在每台 Web 服务器上,在承载 SharePoint 内容的 IIS Web 应用程序的 Web.config 文件中正确配置成员资格提供程序。还必须将该成员资格提供程序添加到承载管理中心的 IIS Web 应用程序的 Web.config 文件中。

  8. 在“客户端集成”部分的“启用客户端集成”下,确保已选中“否”,然后单击“保存”。

    • 如果选择“是”,则将启用根据文档类型启动客户端应用程序的功能。对于某些类型的基于表单的身份验证,此选项无法正常运行。

    • 如果选择“否”,则将禁用根据文档类型启动客户端应用程序的功能。用户必须下载文档,然后在对文档进行更改之后上载这些文档。

      如果您尚未安装 Microsoft Office SharePoint Server 2007 Service Pack 2 (SP2),则当您使用基于表单的身份验证时,默认情况下将禁用客户端集成。这是因为在 Office SharePoint Server 2007 SP2 之前,客户端集成并不内在支持基于表单的身份验证。当禁用客户端集成时,不会显示指向客户端应用程序的链接,并且不能在客户端应用程序中打开文档,而只能在 Web 浏览器中打开文档。不过,用户可以下载文档,并在客户端应用程序中本地编辑这些文档,然后将其上载到网站。

      如果您已安装了 Office SharePoint Server 2007 SP2,则将支持客户端集成(但 Outlook 集成除外)。将支持所有其他客户端集成,包括 SharePoint Designer 创作。

用户提供凭据之后,系统会发布一个标识该用户的 Cookie。对于后续请求,系统首先会检查 Cookie 以确定该用户是否已经过身份验证,使该用户不必再次提供凭据。

如果用户未选中登录页上的“保存我的信息”框,则不会在客户端计算机上对凭据信息进行缓存,并且凭据信息仅在当前会话过程中有效。当用户通过公用计算机或网亭进行连接(在此情况下,您不希望对用户凭据进行缓存)时,这样做特别重要。如果用户关闭浏览器、从会话中注销或导航到另一个网站,则要求重新对其进行身份验证。您还可以配置空闲会话的最大超时值,以便当用户在会话过程中处于空闲状态的时间过长时强制重新执行身份验证。

配置多个区域之间的基于表单的身份验证

实现基于表单的身份验证会影响企业级搜索功能。若要启用对使用自定义身份验证机制进行验证的内容的搜索,则必须已将默认区域配置为支持 NTLM 身份验证。Office SharePoint Server 2007 搜索爬网程序将按以下顺序轮询各个区域:

  • 默认区域

  • Intranet 区域

  • Internet 区域

  • 自定义区域

  • Extranet 区域

备注

如果您使用基于表单的身份验证,并且 Office SharePoint Server 2007 搜索爬网程序轮询配置为支持 Kerberos 身份验证的区域,则 Office SharePoint Server 2007 搜索爬网程序将失败。如果您使用基于表单的身份验证,并且 Office SharePoint Server 2007 搜索爬网程序轮询配置为支持基本或证书身份验证的区域,则必须配置爬网规则并在共享服务提供程序 (SSP) 搜索设置中提供凭据或证书。如果未配置爬网规则,则爬网程序将遍历所有区域,直到它找到使用 NTLM 配置的区域。如果爬网程序找到使用 NTLM 配置的区域,则爬网将成功。如果爬网程序找到使用 Kerberos 或摘要式身份验证配置的区域,则爬网将失败并且轮询将停止。

Office SharePoint Server 2007 不允许 Web 应用程序在多个区域中使用相同的提供程序名称。可以配置 Web.config 文件以对每个区域使用相同的提供程序;但对于每个区域,此提供程序的名称必须是唯一的。

有关身份验证机制的其他信息以及使用多个提供程序配置基于表单的身份验证的示例,请参阅规划身份验证 (Office SharePoint Server)

为“我的网站”Web 应用程序配置基于表单的身份验证

若要在 Office SharePoint Server 2007 部署中规划基于表单的身份验证实现,需要确定如何配置基于表单的身份验证以便与“我的网站”Web 应用程序进行交互。若要确保经基于表单的身份验证的用户能够在 Office SharePoint Server 2007 场中执行人员搜索并创建“我的网站”Web 应用程序,请执行以下过程:

  1. 创建 Web 应用程序,并为默认区域配置 NTLM 身份验证。有关创建 Web 应用程序的信息,请参阅创建或扩展 Web 应用程序

  2. 创建 SSP。有关创建 SSP 的信息,请参阅本章概述:创建和配置共享服务提供程序

    此时,所有 Web 应用程序将扩展到默认区域,并将身份验证机制配置为 NTLM。

  3. 若要确保爬网程序能够访问内容,请通过从管理中心内的 Web 应用程序列表中选择 Web 应用程序,为基于表单的身份验证配置扩展的内容 Web 应用程序,如下图所示:

    Office SharePoint Server - Web 应用程序对话框

  4. 单击“创建或扩展 Web 应用程序”链接,然后选择用于扩展 Web 应用程序的选项。键入详细信息,例如,选择将在 IIS 中承载新的 Web 应用程序的端口号,以及选择此扩展的 Web 应用程序将驻留的区域。

    下图演示了原始 Web 应用程序,此应用程序始终是在默认区域中创建的,而扩展的 Web 应用程序是在自定义区域中创建的。

    自定义区域配置 - 管理中心

    每个区域都标识了针对同一内容的访问限制的逻辑分离。

    备注

    不能增加区域数。

  5. 为基于表单的身份验证配置扩展的 Web 应用程序的成员资格提供程序名称,如下图所示。

    管理中心 - 验证提供程序

    在将内容 Web 应用程序扩展到不同的区域之后,可以使用不同的 URL 配置验证提供程序并启用不同的验证机制。此时,将在扩展的 Web 应用程序的 Web.config 文件中添加提供程序部分。

    备注

    在 Web.config 文件中为默认区域添加一个提供程序部分将不会影响 Office SharePoint Server 2007 识别新区域的提供程序。实际上,对于 IIS 网站,这两个区域是相互独立的,即使二者仍将共享同一应用程序池。

  6. 通过单击“验证提供程序”页的链接来修改验证提供程序。此页将显示已扩展 Web 应用程序的所有区域。选择适当的区域并配置验证提供程序。在上一个示例中,针对自定义区域将验证提供程序配置为“PeopleDCLDAPMemberShipProvider”。

  7. 添加第一个管理用户,该用户将具有 Web 应用程序内所有网站集的管理访问权。在此示例中,所有扩展的区域(默认区域和自定义区域)中的内容相同且网站集相同,即使 URL 不同也是如此。当首次创建 Web 应用程序时,将为应用程序池标识授予针对所有区域的 Web 应用程序的“完全读取”权限。对于默认区域,访问权由在 Web 应用程序的根目录下创建网站集时指定的网站集主管理员控制。对于扩展的区域,必须添加具有对 Web 应用程序的“完全控制”权限的特定用户,才能启用对网站集的初始登录并执行管理任务。若要添加用户,请单击“Web 应用程序的策略”页上的“添加用户”,并选择区域。运行人员选取器并解析用户名。

    备注

    由于人员选取器将使用扩展的 Web 应用程序的 Web.config 文件中配置的提供程序解析用户,因此将以“提供程序:用户名”的形式添加用户。如果在“区域”下拉列表中选择“所有区域”,则 Office SharePoint Server 2007 将忽略自定义提供程序。因此,确保选择适当的区域很重要。

  8. 添加用户之后,验证基于表单的身份验证是否正常工作,并浏览扩展的区域的 URL。在此示例中,内容 Web 应用程序位于端口 2000 上的默认区域中,并扩展到位于端口 2001 上的自定义区域中。浏览到扩展的端口。

  9. 此时,将显示基于表单的身份验证登录屏幕。键入先前添加的用户的凭据,并单击“提交”。然后,您将重定向到网站的 Default.aspx 页。

此 Default.aspx 页与默认区域网站的标准 Default.aspx 页很相似。不过,此示例中不会显示“我的网站”创建链接。“我的网站”和个性化都是共享服务提供程序 (SSP) 提供的服务。有一个为此 Web 应用程序提供这些服务的现有 SSP。在这一过程中,SSP 此时无法知晓您使用其凭据登录的新用户。由于对链接进行了安全修整,因此这些链接不会显示,并且在此示例中,SSP 不会识别当前用户。若要纠正此情况,请为基于表单的身份验证启用 SSP,如以下过程中所述。

为基于表单的身份验证配置 SSP

若要为基于表单的身份验证配置共享服务提供程序 (SSP),请扩展 SSP 管理 Web 应用程序以映射到与内容 Web 应用程序相同的区域。在“管理此服务器场的共享服务”页上,SSP 的管理网站宿主在端口 80 上列出,并且 SSP 只能识别 NTLM 身份验证。若要使 SSP 能够识别自定义提供程序,请为基于表单的身份验证配置 SSP。

  1. 将端口 80 上的 Web 应用程序(管理网站宿主)扩展到已扩展内容 Web 应用程序的同一区域,然后对扩展的 Web 应用程序进行基于表单的身份验证配置。

    备注

    通常,用户无法知晓此类新的 Web 应用程序,并且此 Web 应用程序仅将基于表单的身份验证信息提供给 SSP。

  2. 浏览到新的 SSP 管理网站。在对管理 Web 应用程序启用基于表单的身份验证之后,可以将浏览器指向一个 URL,例如 http://<服务器>:<扩展端口>/ssp/admin/default.aspx。此 URL 与 SSP 管理网站的 URL(端口号不同)相似。不过,现在会提示您在基于表单的身份验证登录页上输入凭据。

    当您输入在“Web 应用程序的策略”页上的“添加用户”过程中添加的用户凭据之后,将会重定向到“管理”页。

    备注

    如果您尝试浏览到“共享服务管理”页的“用户配置文件和我的网站”部分中的“个性化服务权限”,则访问将被拒绝。这是因为已登录的用户无权修改个性化服务权限,即使经过基于表单的身份验证的用户有权浏览网站也是如此。若要更改此行为,用户必须具有其他帐户中明确提供的权限,并且该帐户本身必须具有修改个性化服务权限的权限。在此示例中,由于您当前正在使用已添加对 SSP 的“完全控制”权限的某个帐户进行浏览,因此难以配置上述配置。Windows 身份验证区域中的用户是唯一有权编辑个性化服务权限的用户。若要使经过基于表单的身份验证的用户能够编辑个性化服务权限,则您必须以 Windows 身份验证区域中的用户身份登录。

  3. 通过使用默认区域登录到 SSP 管理网站,添加针对个性化链接的权限。

    备注

    确保欢迎控件显示 Windows 用户的身份。

  4. 浏览到“个性化服务权限”页,并启动人员选取器。

  5. 尝试在此处解析经过基于表单的身份验证的用户。人员选取器将不会解析经过基于表单的身份验证的用户,原因是此区域无法知晓可以通过查询另一个提供程序来查找这些用户。

  6. 若要使此区域识别该提供程序,请修改此区域的 Web.config 文件,并添加已为启用基于表单的身份验证而添加的同一提供程序部分。

    Important 重要说明:

    在 Web.config 文件中,不要设置 defaultProvider 属性。如果设置此属性,则人员选取器和安全修整程序将始终使用此提供程序对用户进行解析和身份验证。

  7. 向后浏览到“个性化服务权限”页并启动人员选取器,这将解析基于表单的身份验证用户并显示符合同一条件的所有用户。

  8. 选择一个用户,并选择要分配给该用户的权限:

    • “创建个人网站”:若要使“我的网站”链接可见并使用户能够创建“我的网站”,则必须具有此权限。

    • “使用个人功能”:利用此权限,用户可以访问 SSP 和“我的网站”功能。

    • “管理用户配置文件”:利用此权限,用户可以查看和管理配置文件存储中的用户配置文件。

    • “管理访问群体”:利用此权限,用户可以管理访问群体。

    • “管理权限”:利用此权限,可启用 SSP 上的权限管理。

    • “管理使用率分析”:利用此权限,用户可以管理和配置使用率分析。

  9. 单击“保存”。

此时,您可以作为经过基于表单的身份验证的用户登录回自定义区域 SSP 网站,并添加其他用户。此外,还可以为添加的这些其他用户配置权限集。在使用“创建个人网站”权限启用用户之后,将显示“我的网站”链接。可以使用经过基于表单的身份验证的用户身份浏览到自定义区域门户,并请注意,“欢迎使用”控件套件将显示“我的网站”链接。但实际上,单击该链接将不会创建“我的网站”。这是因为 SSP 仍只会引用“我的网站”宿主的默认区域,即使已在自定义区域中扩展 SSP 也是如此。Web 应用程序尚未识别经过表单身份验证的用户。通过扩展“我的网站”Web 应用程序并对其进行基于表单的身份验证配置,可以解决此问题。

由于您可以手动从 SSP 内部设置“我的网站”宿主,因此是否将“我的网站”宿主扩展到与 SSP 管理 Web 应用程序不同的区域并不重要。如果您正在实施这两个区域必须不同的方案,则可以浏览到 SSP(使用基于表单的身份验证),然后手动设置“我的网站”宿主。使用基于表单的身份验证浏览到 SSP 管理网站,然后浏览到“我的网站设置”页。

现在,您可以编辑个人网站提供程序以指向新扩展的“我的网站”Web 应用程序。如果将“我的网站”Web 应用程序扩展到与 SSP 管理 Web 应用程序相同的区域中,Office SharePoint Server 2007 将自动重新调整“我的网站”,此时,此手动配置并不是必需的。

此外,您还可以执行以下操作:转到内容网站、使用基于表单的身份验证进行登录以及为经过基于表单的身份验证的用户创建“我的网站”。

配置用户配置文件和人员搜索

若要在 Office SharePoint Server 2007 部署中规划基于表单的身份验证实现,则需要确定如何配置基于表单的身份验证以便与用户配置文件和人员搜索进行交互。Office SharePoint Server 2007 使用活动的验证提供程序导入用户配置文件。若要将人员搜索与基于表单的身份验证结合使用,则必须使用基于表单的身份验证提供程序导入用户配置文件。如果使用针对默认区域的 Windows 身份验证和针对自定义区域的基于表单的身份验证,导入同一用户组,则配置文件导入将同时导入相同的用户组,并以不同的方式标识这些用户组。例如,处理用户“域\user1”和用户“提供程序:user1”的方式不同。即使所有属性都相同(包括从中导入这些属性的源),上述情况也适用。此提供程序将区分这两个用户并将它们视为两个不同的用户。

假定您已将 SSP 管理 Web 应用程序配置为与基于表单的身份验证结合使用,执行以下过程可启用人员搜索。确保 SSP 管理 Web 应用程序已扩展并正确配置为使用基于表单的身份验证。另请注意,应在“个性化服务权限”页上为管理用户明确分配对用户配置文件的管理权限。

  1. 若要配置用户配置文件导入,请浏览到自定义区域的 SSP 管理网站。由于已使用基于表单的身份验证配置该网站,因此您可以使用管理用户的凭据登录。

  2. 单击“用户配置文件和属性”并配置新的导入连接。

    可用的选项为“Active Directory”、“LDAP 目录”、“Active Directory 资源”和“业务数据目录”。在此示例中,由于源为域上的用户存储,因此选择 LDAP 目录作为连接类型。

  3. 填充在提供程序部分中定义的连接名称和 LDAP 服务器的名称。

  4. 键入提供程序名称(如 Web.config 文件中所列)和提供程序部分中的用户名属性。其余信息应会自动填入。

  5. 使用新添加的导入连接启动导入。

  6. 通过单击“查看用户配置文件”验证是否已导入配置文件,如下图所示:

    共享服务管理 - 查看用户配置文件

    执行导入之后,将使用新的配置文件更新 Office SharePoint Server 2007 中的用户配置文件存储。若要启用人员搜索,请执行下一个过程。

  7. 启动对人员内容源的爬网。完成爬网之后,您将能够在基于表单的身份验证网站上执行人员搜索。

下载此书籍

本主题包含在以下可下载书籍内,以方便您阅读和打印:

有关可用书籍的完整列表,请访问 Office SharePoint Server 技术库