65.9K
CodeProject 正在变化。 阅读更多。
Home

如何在 SharePoint 2010 中配置基于表单的身份验证 (FBA)

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.05/5 (5投票s)

2012年3月23日

CPOL

7分钟阅读

viewsIcon

86552

本文逐步说明了如何在 SharePoint 2010 中启用基于表单的身份验证 (FBA)

引言

本文将逐步介绍在 SharePoint 2010 中配置基于窗体身份验证 (FBA) 的信息。本文将对希望根据业务需求为其 SharePoint 2010 网站实现基于窗体身份验证 (FBA) 的开发人员/设计人员/架构师以及其他相关人员有所帮助。

我们无法在所有业务场景中使用传统的/基础的声明身份验证。我最近正在处理一个消费者门户或产品销售网站,其中基于窗体身份验证最为合适。本文通过配置基于窗体身份验证的 SharePoint 2010 网站来解决身份验证问题。

MOSS 2007 和 SharePoint 2010 之间的区别

为 MOSS 2007 网站和 SharePoint 2010 网站配置 FBA 之间没有巨大的区别。您无法为 SharePoint 2010 类身份验证网站实现 FBA。FBA 只能在 SharePoint 2010 的声明身份验证网站中实现。

在 MOSS 2007 中,需要配置 FBA 网站和中央管理网站的 `web.config` 文件。在 SharePoint 2010 中,需要配置 FBA 网站、中央管理网站和安全令牌服务 (STS) 的 `web.config` 文件。STS 是下一代单一登录服务之一,用于在 SharePoint 2010 中存储应用程序的凭据。

我还在 CodeProject 和 Blogger 上撰写了有关在 MOSS 2007 网站中启用 FBA 的文章,可在此处找到。CodeProject: https://codeproject.org.cn/Articles/19055/Form-Authentication-for-MOSS-2007-Site, Blogger: http://nagendra-gunaga.blogspot.in/2012/03/form-based-authentication-fba-for-moss.html.  

在 SharePoint 2010 中配置 FBA 的步骤 

以下是在 SharePoint 2010 中配置 FBA 所需的步骤。我将使用 MS SQL 数据库作为用户的成员身份存储。  

A) 设置 ASP.NET 窗体身份验证用户和角色数据源 

1. 创建数据库 

2. 配置成员身份和角色提供程序 

3. 创建用户

B) 创建 Web 应用程序和网站集

C) 配置 Web.Config 文件 

1. 配置 FBA 网站的 web.config 文件

2. 配置中央管理网站的 web.config 文件

3. 配置安全令牌服务 (STS) 的 web.config 文件

D) 将用户策略添加到 FBA Web 应用程序

E) 验证步骤 

A) 设置 ASP.NET 窗体身份验证用户和角色数据源 

本节将介绍用于存储用户信息的数据库的创建,例如用于窗体身份验证的凭据和角色。本节还将介绍在 web.config 文件中配置成员身份和角色提供程序,以及使用 ASP.Net 配置向导创建用户。本文将演示创建一个用户,该用户稍后将用于测试窗体身份验证。

1. 创建数据库 

要创建数据库,Microsoft 提供了一个名为

aspnet_regsql.exe 的工具/实用程序,该工具可以为我们创建一个数据库。此实用程序可以在 %windir%\Microsoft.Net\Framework64\v2.0.50727 文件夹中找到。请参阅下图: 

执行 aspnet_regsql.exe 文件将打开 ASP.Net SQL 设置向导,该向导将引导您完成 ASP.Net 数据库的创建。我已经将数据库名称添加为 FBANetDB,并使用 Windows 身份验证进行了配置。请参阅下图

单击“下一步”按钮。请参阅下图

选择“为应用程序服务配置 SQL Server”选项,然后单击“下一步”按钮。请参阅下图

单击“下一步”按钮。现在 FBANetDB 数据库已成功创建。请参阅下图

2. 配置成员身份和角色提供程序 

在上一个部分中,数据库已成功创建。现在我们需要向数据库添加一个用户。使用 ASP.NET 配置向导,可以向数据库添加用户。这可以通过创建一个网站来实现,该网站允许我们在将 SharePoint 引入方程之前添加用户和角色,并确保数据库连接字符串、成员身份和角色提供程序已正确配置。

以下步骤将介绍如何创建网站、配置成员身份和角色提供程序以及执行 ASP.Net 配置向导。

a) 打开 Visual Studio 2010,选择“文件”>“新建”>“网站”。在“新建网站”对话框中,选择“ASP.Net 网站”模板,然后输入存储网站文件的位置。请参阅下图

您可以选择任何方便您的位置。web.config 文件将自动添加到项目中。


b) 默认情况下,您会在 `` 节点内看到一个 `` 节点。指定到在上一个部分中创建的数据库的连接字符串。请参阅下图

 

我在服务器中提到了 GUNAGA1。这是安装了 SQL Server 2008 的服务器。请提及相应的服务器名称。

还请在 `` 标签内添加成员身份提供程序和角色提供程序。有关更多信息,请参见下图。

 

c) 保存 web.config 文件,然后单击“网站”>“ASP.Net 配置”启动 ASP.Net 配置向导。请参阅下图

  

d) 在上述向导中设置身份验证类型。为此,请单击“安全性”链接。在“安全性”选项卡下的“用户”部分,单击“选择身份验证类型”链接。选择“来自 Internet”选项,然后按底部的“完成”按钮。选择此选项意味着网站将使用窗体身份验证来识别用户。请参阅下图

  

e) 要测试成员身份和角色提供程序,请单击“提供程序”选项卡。在“提供程序”选项卡中,单击“为每个功能选择不同的提供程序(高级)”链接。选择正确的/正确的成员身份和角色提供程序,然后单击“测试”链接以确保提供程序正在与正确的数据库通信。

此时,我们已将 web.config 文件配置为包含连接字符串和提供程序信息。我们还使用数据库测试了提供程序。下一节将介绍如何将用户添加到数据库。

3. 创建用户 

a) 要添加用户,请单击“安全性”选项卡。在“安全性”选项卡下的“用户”部分,单击“创建用户”链接。我在这里添加的用户名为 testFBA,密码为 password,稍后将用于测试窗体身份验证。请参阅下图

  

现在我们已成功创建了一个用户。暂时不用担心创建角色,稍后将进行解释。

B) 创建 Web 应用程序和网站集 

请按照以下步骤创建 Web 应用程序和网站集。

a. 转到“中央管理”>“应用程序管理”> 在“Web 应用程序”部分选择“管理 Web 应用程序”链接。

b. 在功能区中单击“新建”选项。

     1. 请参阅下图的“身份验证”和“IIS Web 站点”部分。

         

     2. 请参阅下图的“安全配置”和“声明身份验证类型”部分。

          

     3. 请参阅下图配置“登录页面 URL”和“公共 URL”部分。

        

     4. 请参阅下图配置“应用程序池”和“数据库名称和身份验证”部分。

         

     5. 创建 Web 应用程序后创建网站集。选择您想要创建网站集的模板。

C) 配置 Web.Config 文件

1. 配置 FBA 网站的 web.config 文件 

打开 FBA 网站的 web.config 文件并添加以下条目。

     a. 添加连接字符串。连接字符串必须添加到 `` 之后和 `` 标签之前。请参阅下图获取更多信息。

           

     b. 添加成员身份提供程序和角色提供程序

         

2. 配置中央管理网站的 web.config 文件 

打开中央管理网站的 web.config 文件并添加以下条目。

     a. 添加连接字符串。连接字符串必须添加到 `` 之后和 `` 标签之前。请参阅下图获取更多信息。

           

     b. 添加成员身份提供程序和角色提供程序

         

3. 配置安全令牌服务 (STS) 的 web.config 文件 

从 `%Program Files%\Common Files\Microsoft Shared\web server extensions\14\Web Services\SecurityToken` 位置打开安全令牌服务 (STS) 的 `web.config` 文件,并添加以下条目。

a. 添加连接字符串。连接字符串必须添加到 `<system.web>` 标签上方。请参阅下图获取更多信息。

b. 添加成员身份提供程序和角色提供程序

D) 将用户策略添加到 FBA Web 应用程序 

请按照以下步骤将用户策略添加到 Web 应用程序。

a. 转到“中央管理”>“管理 Web 应用程序”> 选择 FBA Web 应用程序,然后在功能区中单击“用户策略”选项。

b. 单击“添加用户”链接,选择“默认”作为区域,然后单击“下一步”按钮。

c. 在“用户”文本框中输入在“创建用户”部分创建的用户名,然后单击人员选取器图标。您应该会在“用户”文本框中看到用户名下划线。

d. 按照验证步骤测试基于窗体的身份验证。

E) 验证步骤 

1. 转到 FBA SharePoint 网站并选择“窗体身份验证”选项。

2. 输入用户名和密码,然后选择“登录”按钮。

3. 您应该会被重定向到主页。

评论 

如果本文对您有所帮助,请提供您的反馈,并发布您的任何问题/疑问。

如何在 SharePoint 2010 中配置基于窗体的身份验证 (FBA) - CodeProject - 代码之家
© . All rights reserved.