身份验证示例(从微软网站上复制的,怕链接失效)
2009-11-16 21:50
246 查看
源文链接:http://technet.microsoft.com/zh-cn/library/cc262069.aspx
本文内容:
SQL 成员资格提供程序
Active Directory 成员资格提供程序
LDAP 成员资格提供程序
Web SSO 与 ADFS
本文包括几个常见的表单身份验证提供程序和 Web 单一登录 (SSO) 身份验证提供程序的示例配置设置。
ADFS 附带以下两个成员资格和角色提供程序对:
SingleSignOnMembershipProvider/SingleSignOnRoleProvider Windows Server 2003 R2 附带的标准成员资格提供程序和角色提供程序
SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2 在部分信任环境中运行的成员资格提供程序和角色提供程序。这些提供程序包含在 Windows Server 2003 R2 Service Pack 2 中。
Office SharePoint Server 2007 的规划和体系结构 - 第 2 部分(该链接可能指向英文页面)
有关可下载书籍的完整列表,请参阅 Office SharePoint Server 2007 的可下载书籍。
本文内容:
SQL 成员资格提供程序
Active Directory 成员资格提供程序
LDAP 成员资格提供程序
Web SSO 与 ADFS
本文包括几个常见的表单身份验证提供程序和 Web 单一登录 (SSO) 身份验证提供程序的示例配置设置。
SQL 成员资格提供程序
下表为使用 ASP.NET 表单身份验证连接到 SQL 成员资格提供程序提供了 Web.config 文件项示例。配置步骤 | 说明和 Web.config 文件项示例 |
---|---|
启用 ASP.NET 表单身份验证。 | 可以在 SharePoint 管理中心网站的“编辑验证”页上将特定区域的身份验证类型设置为表单身份验证。 这会自动将在 Web.config 文件的 authentication 元素中为该区域指定的模式更改为表单。 例如: [align=center][/align]复制代码 <authentication mode="Forms"> </authentication> |
注册成员资格提供程序。 | 如果要使用本地服务器上的 Microsoft SQL Server 数据库软件作为成员资格提供程序数据库,并为成员资格提供程序名称指定 AspNetSqlMembershipProvider,则可能不需要对 Web.config 文件进行任何其他更改。在这种情况下,如果 machine.config 文件具有正确的 AspNetSqlMembershipProvider 配置,则可以将其用于 Windows SharePoint Services,而不用进行任何更改。 如果 machine.config 文件中的默认配置不适用(例如,如果要在远程服务器上使用 SQL Server 数据库),则必须针对 Web 应用程序和管理中心网站编辑 Web.config 文件以在成员资格提供程序数据库的 connectionStrings元素中指定连接信息。 例如: <connectionStrings> <addname="SqlProviderConnection" connectionString="server=SQLSERVERMACHINE;database=aspnetdb;Trusted_Connection=True" /> </connectionStrings> 将 SQLSERVERMACHINE 替换为在其上安装了 SQL Server 成员资格数据库的服务器计算机的名称。 接下来,添加 membership和 providers元素以在 Web.config 文件中注册成员资格提供程序。因为已经在 machine.config 文件中注册了默认提供程序,所以必须在 <add>元素前面添加 <remove>元素。 例如: <membership defaultProvider="AspNetSqlMembershipProvider"> <providers> <remove name="AspNetSqlMembershipProvider" /> <addconnectionStringName="SqlProviderConnection" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers> </membership> 对于 Web 应用程序和管理中心网站, membership元素必须包含在 Web.config 文件的 system.web元素内。 |
注册角色管理器(可选)。 | 通过将 roleManager元素添加到 Web.config 文件的 system.web元素中,可以使用 ASP.NET 的默认角色提供程序。例如: [align=center][/align]复制代码 <roleManager enabled="true" /> 前面的语法使用在 machine.config 文件中定义的 AspNetSqlRoleProvider。此角色管理器可以连接到 SQL Server 的本地或远程实例中的 ASPNETDB 数据库。如果要将远程服务器上的 SQL Server 数据库用作角色提供程序数据库,则必须编辑 Web.config 文件以指定远程数据库服务器的连接信息。 例如: <connectionStrings> <add name="SqlProviderConnection" connectionString="server=SQLSERVERMACHINE; database=aspnetdb; Trusted_Connection=True" /> </connectionStrings> 将 SQLSERVERMACHINE 替换为承载 SQL 数据库的远程服务器的名称。可以为成员资格提供程序和角色管理器这两者指定相同的 connectionStringName元素值,因此,不需要为角色提供程序添加新的 connectionStrings元素。但是,如果要对角色提供程序使用不同的数据库,则必须为角色提供程序添加一个单独的 connectionStrings元素。 接下来,您需要添加 roleManager和 providers元素以在 Web.config 文件中注册 roleManager提供程序。因为已经在 machine.config 文件中注册了默认提供程序,所以必须在 <add>元素前面添加 <remove>元素。 例如: <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider"> <providers> <remove name="AspNetSqlRoleProvider" /> <addconnectionStringName="SqlProviderConnection" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers> </roleManager> 对于 Web 应用程序和管理中心网站, roleManager元素必须包含在 Web.config 文件的 system.web元素内。 |
注册 HTTP 模块。 | 不适用 |
Active Directory 成员资格提供程序
下表为通过 ASP.NET 表单身份验证使用 Active Directory 目录服务成员资格提供程序提供了 Web.config 文件项示例。注意: |
---|
这将仅适用于单个域的情况。 |
配置步骤 | 说明和 Web.config 文件项示例 |
---|---|
启用 ASP.NET 表单身份验证。 | 可以在管理中心的“编辑验证”页上将特定区域的身份验证类型设置为表单身份验证。 这会自动将在 Web.config 文件的 authentication 元素中为该区域指定的模式更改为表单。 例如: [align=center][/align]复制代码 <authentication mode="Forms"> </authentication> 还可以在 forms 元素中指定登录页 URL,例如: [align=center][/align]复制代码 <authentication mode="Forms"> <forms loginUrl="/_layouts/login.aspx"></forms> </authentication> |
注册成员资格提供程序。 | 如果要将 Active Directory 服务器用于成员资格提供程序,则必须编辑 Web.config 文件以注册成员资格提供程序。为此,必须在 connectionStrings元素中指定 Active Directory 服务器连接信息。 例如: <connectionStrings> <addname="ADConnectionString" connectionString= "LDAP://DirectoryServer/CN=Users,DC=DirectoryServer " /> </connectionStrings> 将 DirectoryServer 替换为成员资格目录服务器的名称。 <membership defaultProvider="MembershipADProvider"> <providers> <addname="MembershipADProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnectionString"/></providers> </membership> 注意: 前面的示例未指定帐户凭据。如果未指定帐户凭据,则使用应用程序的进程标识来访问 Active Directory。 如果需要用另一个帐户访问 Active Directory,则可以在 connectionUsername和 connectionPassword属性中指定不同的帐户凭据,这意味着将以纯文本形式提供用户名和密码。因此,建议对此配置部分进行加密。有关详细信息,请参阅下面的文章: 如何:使用 DPAPI 在 ASP.NET 2.0 中对配置节进行加密(该链接可能指向英文页面) (http://go.microsoft.com/fwlink/?linkid=78123&clcid=0x804)(该链接可能指向英文页面) 如何:使用 RSA 在 ASP.NET 2.0 中对配置节进行加密(该链接可能指向英文页面) (http://go.microsoft.com/fwlink/?linkid=76778&clcid=0x804)(该链接可能指向英文页面) ,) |
注册角色管理器(可选)。 | |
注册 HTTP 模块。 | 不适用 |
LDAP 成员资格提供程序
下表为将 ASP.NET 表单身份验证与轻型目录访问协议 (LDAP) 成员资格提供程序一起使用提供了 Web.config 文件项示例。配置步骤 | 说明和 Web.config 文件项示例 |
---|---|
启用 ASP.NET 表单身份验证。 | 可以在管理中心的“编辑验证”页上将特定区域的验证类型设置为表单身份验证。 这会自动将在 Web.config 文件的 authentication 元素中为该区域指定的模式更改为表单。 [align=center][/align]复制代码 <system.web> <!-mode=[Windows|Forms|Passport|None]> <authentication mode="Forms" /> </system.web> |
注册成员资格提供程序。 | membership元素必须包含在 Web.config 文件的 system.web元素内。 <membership defaultProvider="LdapMembershipProvider"> <providers> <add name="LdapMembership" type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" server="DC" port="389" useSSL="false" userDNAttribute="distinguishedName" userNameAttribute="sAMAccountName" userContainer="CN=Users,DC=userName,DC=local" userObjectClass="person" userFilter="(|(ObjectCategory=group)(ObjectClass=person))" scope="Subtree" otherRequiredUserAttributes="sn,givenname,cn" /> </providers> </membership> 您将需要更改为 server和 userContainer属性指定的值以匹配您的环境。 |
注册角色管理器(可选)。 | <roleManager defaultProvider="LdapRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".PeopleDCRole"> <providers> <add name="LdapRoleProvider" type="Microsoft.Office.Server.Security.LDAPRoleProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C" server="DC" port="389" useSSL="false" groupContainer="DC=userName,DC=local" groupNameAttribute="cn" groupMemberAttribute="member" userNameAttribute="sAMAccountName" dnAttribute="distinguishedName" groupFilter="(ObjectClass=group)" scope="Subtree" /> </providers> </roleManager> 您将需要更改为 server和 groupContainer属性指定的值以匹配您的环境。 |
注册 HTTP 模块。 | 不适用 |
Web SSO 与 ADFS
Microsoft Windows Server 2003 R2 操作系统引入了 Active Directory 联合身份验证服务 (ADFS),这使组织能够安全地共享用户的标识信息。ADFS 提供 Web 单一登录 (SSO) 技术以在一个联机会话过程中向多个 Web 应用程序验证用户。ADFS 附带以下两个成员资格和角色提供程序对:
SingleSignOnMembershipProvider/SingleSignOnRoleProvider Windows Server 2003 R2 附带的标准成员资格提供程序和角色提供程序
SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2 在部分信任环境中运行的成员资格提供程序和角色提供程序。这些提供程序包含在 Windows Server 2003 R2 Service Pack 2 中。
SingleSignOnMembershipProvider/SingleSignOnRoleProvider
下表为使用标准提供程序的 Web SSO ADFS 环境提供了 Web.config 文件项示例。配置步骤 | 说明和 Web.config 文件项示例 |
---|---|
启用 ASP.NET 表单身份验证。 | [align=center][/align]复制代码<system.web> <!-mode=[Windows|Forms|Passport|None]> <authentication mode="Forms" /> </system.web> |
注册成员资格提供程序。 | <membership defaultProvider="SingleSignOnMembershipProvider"> <providers> <add name="SingleSignOnMembershipProvider" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx" /> </providers> </membership> 对于 fs属性,将 FEDERATIONSERVER 替换为实际的服务器名称。 membership元素必须包含在 Web.config 文件的 system.web元素内。 |
注册角色管理器(可选)。 | <roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider"> <providers> <add name="SingleSignOnRoleProvider" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx" /> </providers> </roleManager> 对于 fs属性,需要将 FEDERATIONSERVER 替换为实际的服务器名称。 |
注册 HTTP 模块。 | <httpModules> <addname="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" /> </httpModules> |
SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2
如果要实现第二个 ADFS 提供程序集,则用于注册成员资格提供程序和角色管理器的设置不同。下表为 Web SSO ADFS 环境(使用在部分信任环境中运行的提供程序)提供了 Web.config 文件项示例。配置步骤 | 说明和 Web.config 文件项示例 |
---|---|
启用 ASP.NET 表单身份验证。 | [align=center][/align]复制代码<system.web> <!-mode=[Windows|Forms|Passport|None]> <authentication mode="Forms" /> </system.web> |
注册成员资格提供程序。 | <membership defaultProvider="SingleSignOnMembershipProvider2"> <providers> <addname="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs=https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx /> </providers> </membership> 对于 fs属性,将 FEDERATIONSERVER 替换为实际的服务器名称。 membership元素必须包含在 Web.config 文件的 system.web元素内。 |
注册角色管理器(可选)。 | <roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2"> <providers> <add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx" /> </providers> </roleManager> 对于 fs属性,需要将 FEDERATIONSERVER 替换为实际的服务器名称。 |
注册 HTTP 模块。 | <httpModules> <addname="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" /> </httpModules> |
下载此书籍
本主题包含在以下可下载书籍内,以方便您阅读和打印:Office SharePoint Server 2007 的规划和体系结构 - 第 2 部分(该链接可能指向英文页面)
有关可下载书籍的完整列表,请参阅 Office SharePoint Server 2007 的可下载书籍。
相关文章推荐
- 获取网站注册中发送验证信息的链接
- Mac远程桌面链接 Windows2012提示"远程桌面连接无法验证您希望连接的计算机的身份"
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)
- ASP.NET MVC:窗体身份验证及角色权限管理示例
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)
- asp.net微软提供的身份验证
- ASP.NET在IE9,IE10,IE11中Form表单身份验证失效问题解决方法
- asp.net 身份验证 写入cookie 失效日期
- 建立https链接的SLL验证证书失效问题
- 快速部署有身份验证和授权的MongoDB Replica SET复制集
- MVC5 网站开发实践 2.2、管理员身份验证
- 让微软企业库中的Email Trace Listener使用需要身份验证的SMTP服务器
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)
- 添加AD验证(域身份验证)到现有网站
- ASP.NET MVC 窗体身份验证及角色权限管理示例
- 微软MSN太猖狂 竟敢封锁YouTube等网站链接
- PHP LDAP连接微软活动目录进行身份验证
- Windows Server 2012 R2 -网站—安全性设置-身份验证(VMware workstation环境)
- ASP.NET MVC:窗体身份验证及角色权限管理示例
- ASP.Net 2.0 窗体身份验证机制-转+自己代码注释示例与更详细的说明