MOSS 2007 – 启用表单身份验证






3.75/5 (20投票s)
一篇关于如何在 Microsoft Office SharePoint Server 2007 中启用表单身份验证的文章
摘要
MOSS 2007 的新功能之一是自定义表单身份验证。SharePoint 2007(Microsoft Office SharePoint Server 2007 或 MOSS 2007)已在用于外部和互联网角色的托管环境中部署。在这两种角色中,当处理用户身份验证并结合在单个平台上托管多个公司时,都必须考虑 MOSS 的身份验证架构。本解决方案重点介绍了如何在 Microsoft Office SharePoint Server 2007 中启用表单身份验证。
引言
一般而言,表单身份验证使用一个身份验证票证,该票证在用户登录站点时创建,然后会跟踪用户在整个站点中的活动。表单身份验证票证通常包含在 cookie 中。但是,ASP.NET 2.0 支持无 cookie 的表单身份验证,这会导致票证通过查询字符串传递。表单身份验证的处理由 FormsAuthenticationModule
类处理,该类是一个 HTTP 模块,参与常规的 ASP.NET 页面处理周期。
身份验证通过 ASP.NET 2.0 提供程序进行,其中默认包含两个用于 Active Directory 和 SQL Server 的提供程序。与 ASP.NET 2.0 一样,MOSS 可以利用自定义提供程序从任何用户数据存储提供身份验证服务。MOSS 的架构会将提供程序与 IIS 中的 Web 应用程序关联起来。MOSS 2007 支持以下身份验证类型:
Windows
- NTLM
- Kerberos
表单
- SQL Membership Provider
- Active Directory Forms Provider
- Lightweight Directory Access Protocol (LDAP) Forms Provider
- Custom Provider
Web Single Sign-on
- Active Directory Federation Services (ADFS)
系统要求
要执行本文的功能,您应该拥有:
- Microsoft Office SharePoint Server
Office SharePoint Server 2007 在 Windows Server 2003(含 SP1 或更高版本)上运行。我们建议您应用所有关键更新。您可以使用以下 Windows Server 2003 版本:
- Windows Server 2003, Standard Edition
- Windows Server 2003, Enterprise Edition
- Windows Server 2003, Datacenter Edition
- Windows Server 2003, Web Edition
在服务器上设置 SharePoint 时,您有更多选择。
概述
本解决方案重点介绍了如何在 Microsoft Office SharePoint Server 2007 中启用表单身份验证。
在 MOSS 2007 中启用自定义身份验证
在 MOSS 2007 中启用自定义身份验证需要在 MOSS 服务器配置文件中仔细遵循步骤。以下是具体步骤:
更改为表单身份验证
打开 SharePoint Central Administrator 3.0;选择“应用程序管理”选项卡,在“应用程序安全”部分下,单击“身份验证提供程序”。
进入身份验证提供程序后,您会找到身份验证提供程序列表。
现在,选择您要将其身份验证模式更改为自定义表单身份验证的 Web 应用程序。然后,单击超链接的区域,这将重定向到身份验证编辑模式屏幕,您可以在其中将身份验证模式更改为表单身份验证。
在上面的屏幕截图中,您可以看到“身份验证类型”。在“身份验证类型”下选择“表单”,这将重新加载屏幕并显示“表单身份验证”的选项。现在,您需要在“成员资格提供程序名称”文本框中填入您的自定义成员资格提供程序。在此演示中,我将使用 AspNetSqlMembershipProvider。在身份验证编辑模式页面中,将 AspNetSqlMembershipProvider 输入为“成员资格提供程序名称”,然后单击“保存”按钮。
为 SQL Server 安装应用程序服务数据库
有两种方法可以为 SQL Server 安装应用程序服务数据库。一种简单的方法如下:
步骤 1:打开命令提示符并运行以下命令。
选择“开始”>“所有程序”>“Microsoft Visual Studio 2005”>“Visual Studio Tools”>“Visual Studio 2005 Command Prompt”。
步骤 2:输入
aspnet_regsql.exe -E -A all -S
localhost\DatabaseServerName
等待功能被添加到本地 SQL 数据库。
另一种方法是使用 Aspnet_regsql.exe 安装数据库。ASP.NET 包含一个用于安装 SQL Server 提供程序使用的 SQL Server 数据库的工具,名为 Aspnet_regsql.exe。Aspnet_regsql.exe 工具位于 Web 服务器上的驱动器:\WINDOWS\Microsoft.NET\Framework\versionNumber 文件夹中。Aspnet_regsql.exe 用于创建 SQL Server 数据库以及向现有数据库添加或删除选项。
步骤 1:从以下位置打开 aspnet_regsql.exe:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
步骤 2:现在,在服务器上运行 aspnet_regsql.exe 以配置或映射数据库。
在数据库下拉列表中,选择您自己的数据库。如果您使用默认选项,它将使用 aspnetdb 数据库(如果存在),否则将创建 aspnetdb 并使用它。
将用户添加到您的成员资格提供程序
现在,我们需要将用户添加到您已分配了表单身份验证的成员资格提供程序。有两种方法可以将用户添加到我们的成员资格提供程序。一种是通过 SQL 脚本,另一种是创建 Web 应用程序。首先,让我们从 SQL 脚本选项开始。
步骤 1
在 Microsoft SQL Management Studio 中,针对 aspnetdb 数据库运行以下查询。
declare @now datetime
set @now= GETDATE()
exec aspnet_Membership_CreateUser 'appName','userid','password',
'','email@somewhere.com','','',1,@now,@now,0,0,null
下一个选项是通过 Web 应用程序创建。
步骤 1:使用您的 Visual Studio 2005 创建一个新的 Web 应用程序。
步骤 2:将 web.config 文件添加到您新创建的 Web 应用程序。
步骤 3:现在,在您的 web.config 文件中,在 <configuration> 标签下添加连接字符串。
步骤 4:现在,在您的 Visual Studio 2005 中选择“网站 ASP.NET Web 配置”。
步骤 5:导航到“安全”选项卡,您可以看到“用户”、“角色”、“访问规则”三个区块。在“用户”区块下,您可以看到“选择身份验证类型”超链接,单击该链接可选择身份验证类型。
步骤 6:现在,您的站点将有两个选项:来自 Internet 和来自本地网络。您必须选择“来自 Internet”选项,然后单击“完成”按钮。
步骤 7:在“用户”区块下,您还可以看到另外两个超链接:“创建用户”和“管理用户”。“创建用户”用于创建新用户或将新用户添加到您的成员资格提供程序。“管理用户”用于删除或编辑在成员资格提供程序中已创建的用户。
MOSS 2007 中的配置文件更改
在完全无误地完成所有先前过程后,现在我们需要在 MOSS 2007 的 web.config 文件中进行一些配置更改。在驱动器中导航到以下路径:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG,然后用记事本或 Visual Studio 打开您的 machine.config。您会找到 <system.web> 标签,在该标签下的 <membership>、<profile> 和 <roleManager> 元素,复制所有这些标签元素。
您的网站中的配置更改
首先,选择您已将其身份验证模式更改为表单身份验证的 Web 应用程序。打开位于 C:\Inetpub\wwwroot\wss\VirtualDirectories\ 文件夹中的 web.config 文件。要确定确切位置,请打开 IIS 并检查 SharePoint 站点的“主目录”。然后,为您 Web 应用程序的 web.config 文件创建一个备份副本,并用您的编辑器打开原始文件。在您的 Web 应用程序 web.config 文件中添加您在示例 Web 应用程序中输入的连接字符串。
现在,我们需要在您的 Web 应用程序的配置中添加角色、成员资格和其他设置。
保存配置文件并关闭它。
中央管理中的配置更改
遵循“您的网站中的配置更改”过程,对中央管理器的 web.config 文件进行相同的操作。
中央管理员 – 用户管理
将用户分配为网站集管理员
打开您的 Central Administrator,然后单击“应用程序管理”选项卡。在“SharePoint 网站管理”下,单击“网站集管理员”。
在网站集列表中,选择您已启用表单身份验证和为表单身份验证进行配置更改的网站。然后添加主网站集管理员和辅助网站集管理员;这将从您为表单身份验证指定的 aspnetdb 中获取用户。
来自成员资格提供程序的用户将如上所示列出。
在 MOSS 2007 中启用表单身份验证后添加用户
打开您的 MOSS 2007 中央管理器,然后选择“应用程序管理”选项卡。在“应用程序安全”下,选择“Web 应用程序的策略”,选择后只需单击“添加用户”按钮,然后通过导航继续,选择您想添加的用户,并在过程中为他们设置权限。
另一种方法是使用您的站点管理员登录,选择“站点操作”,然后选择“站点设置”,接着选择“人员和组”。选择“新建”按钮将用户添加到站点。这同样有效。
结论
上述过程将在 MOSS 2007 中启用自定义表单身份验证,这是 Microsoft Office SharePoint Server 中最重要的功能之一。