zoukankan      html  css  js  c++  java
  • 身份验证示例(从微软网站上复制的,怕链接失效)

    源文链接:http://technet.microsoft.com/zh-cn/library/cc262069.aspx

    本文内容:

    本文包括几个常见的表单身份验证提供程序和 Web 单一登录 (SSO) 身份验证提供程序的示例配置设置。

    SQL 成员资格提供程序

    下表为使用 ASP.NET 表单身份验证连接到 SQL 成员资格提供程序提供了 Web.config 文件项示例。

    配置步骤 说明和 Web.config 文件项示例

    启用 ASP.NET 表单身份验证。

    可以在 SharePoint 管理中心网站的“编辑验证”页上将特定区域的身份验证类型设置为表单身份验证。

    这会自动将在 Web.config 文件的 authentication 元素中为该区域指定的模式更改为表单。

    例如:

    <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>

    <add name="SqlProviderConnection" connectionString="server=SQLSERVERMACHINE;database=aspnetdb;Trusted_Connection=True" />

    </connectionStrings>

    将 SQLSERVERMACHINE 替换为在其上安装了 SQL Server 成员资格数据库的服务器计算机的名称。

    接下来,添加 membershipproviders 元素以在 Web.config 文件中注册成员资格提供程序。因为已经在 machine.config 文件中注册了默认提供程序,所以必须在 <add> 元素前面添加 <remove> 元素。

    例如:

    <membership defaultProvider="AspNetSqlMembershipProvider">

    <providers>

    <remove name="AspNetSqlMembershipProvider" />

    <add connectionStringName="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 的默认角色提供程序。例如:

    <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 元素。

    接下来,您需要添加 roleManagerproviders 元素以在 Web.config 文件中注册 roleManager 提供程序。因为已经在 machine.config 文件中注册了默认提供程序,所以必须在 <add> 元素前面添加 <remove> 元素。

    例如:

    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">

    <providers>

    <remove name="AspNetSqlRoleProvider" />

    <add connectionStringName="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 文件项示例。

    Note 注意:

    这将仅适用于单个域的情况。

    配置步骤 说明和 Web.config 文件项示例

    启用 ASP.NET 表单身份验证。

    可以在管理中心的“编辑验证”页上将特定区域的身份验证类型设置为表单身份验证。

    这会自动将在 Web.config 文件的 authentication 元素中为该区域指定的模式更改为表单。

    例如:

    <authentication mode="Forms">
    </authentication>

    还可以在 forms 元素中指定登录页 URL,例如:

    <authentication mode="Forms">
        <forms loginUrl="/_layouts/login.aspx"></forms>
    </authentication>

    注册成员资格提供程序。

    如果要将 Active Directory 服务器用于成员资格提供程序,则必须编辑 Web.config 文件以注册成员资格提供程序。为此,必须在 connectionStrings 元素中指定 Active Directory 服务器连接信息。

    例如:

    <connectionStrings>

    <add name="ADConnectionString"

    connectionString=

    "LDAP://DirectoryServer/CN=Users,DC=DirectoryServer " />

    </connectionStrings>

    将 DirectoryServer 替换为成员资格目录服务器的名称。

    <membership defaultProvider="MembershipADProvider">

    <providers>

    <add name="MembershipADProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

    connectionStringName="ADConnectionString"/></providers>

    </membership>

    Note 注意:
    前面的示例未指定帐户凭据。如果未指定帐户凭据,则使用应用程序的进程标识来访问 Active Directory。

    如果需要用另一个帐户访问 Active Directory,则可以在 connectionUsernameconnectionPassword 属性中指定不同的帐户凭据,这意味着将以纯文本形式提供用户名和密码。因此,建议对此配置部分进行加密。有关详细信息,请参阅下面的文章:

    注册角色管理器(可选)。

    注册 HTTP 模块。

    不适用

    LDAP 成员资格提供程序

    下表为将 ASP.NET 表单身份验证与轻型目录访问协议 (LDAP) 成员资格提供程序一起使用提供了 Web.config 文件项示例。

    配置步骤 说明和 Web.config 文件项示例

    启用 ASP.NET 表单身份验证。

    可以在管理中心的“编辑验证”页上将特定区域的验证类型设置为表单身份验证。

    这会自动将在 Web.config 文件的 authentication 元素中为该区域指定的模式更改为表单。

    <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>

    您将需要更改为 serveruserContainer 属性指定的值以匹配您的环境。

    注册角色管理器(可选)。

    <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>

    您将需要更改为 servergroupContainer 属性指定的值以匹配您的环境。

    注册 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 表单身份验证。

    <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>

    <add name="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 表单身份验证。

    <system.web>
     <!-mode=[Windows|Forms|Passport|None]>
     <authentication mode="Forms" />
    </system.web>

    注册成员资格提供程序。

    <membership defaultProvider="SingleSignOnMembershipProvider2">

    <providers>

    <add name="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>

    <add name="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 的可下载书籍

  • 相关阅读:
    css取消input、select默认样式(手机端)
    Vue解决sass-loader的版本过高导致的编译错误
    在Vue项目中引入element-ui,显示结果没有样式的问题
    修改Vue项目打开指定浏览器和修改端口号
    Vue如何关闭eslint
    停止事件冒泡
    子组件中定义的方法如何传给父组件调用了呢?
    vue自定义时间过滤器之使用date-fans代替moment
    面试5(每日打卡)
    2019.10.22
  • 原文地址:https://www.cnblogs.com/xueyuan299/p/1604133.html
Copyright © 2011-2022 走看看