• SharePoint2013基于Form(FBA)的AD认证登陆


    1. 使用SharePoint2013实现基于AD的Form认证,首先创建一个Web Application,步骤如下:Central Administration -> Application Management -> Manage Web Application -> New Web Application;

    填写web application 端口,允许或者不允许Anonymous等等;

                           

    虽然我们只用FORM方式认证,但是现在我们还没有创建membership provider在,所以这里我们先只选择 “Enable Windows Authentication”, 当我们创建好membership provider的时候,再回过头来更改这里。然后“OK”, 系统自动创建web application,可能时间会有一点儿长,耐心等一会就好了。

     

    2. 当web application建好后,在接下来就是在此app下面建立一个site collection. 在完成application创建后弹出的对话框中,选择 “create site collection”, 进入此application的site collection创建页面:

     

    在弹出的对话框中,填入站点名字,选择站点template,输入站点管理员Primary site collection administrator, 然后“OK”,等待站点创建完成;

      

    当如上几步都准确完成后,接下来将要配制刚才创建的Web Application 来采用基于Form 认证的使用Active Directory Membership Provider(即AD认证方式);

    有三个文件需要更改:

    Central Administration site 的配制文件,

    刚才创建的Web Application 的配制文件,

    STS (SecurityTokenService) Application 的配制文件. 

    (红色标注的 domain 名请根据自己公司的域名填写)

    1)更改Central Administration web.config

    打开 SharePoint 2013 Central Administration 站点,增加如下的内容: 

    <connectionStrings>
       <add name=”ADConn"
            connectionString="LDAP://ABCD.net" />
    </connectionStrings> 

    membership provider增加如下: 

    <membership defaultProvider="ADMembers">
       <providers>
          <add name="ADMembers"
               type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
               connectionStringName="ADConn"
               enableSearchMethods="true"
               attributeMapUsername="sAMAccountName" />
       </providers>
    </membership> 

    备注: connectionStrings 元素应放在<system.web></system.web> 节点的外部, membership provider 元素应该放在<system.web></system.web> 节点内。

    2)更改 Web Application web.config 文件

    打开新创建的web application 的配制文件, 添加如下的信息:

    <connectionStrings>
       <add name=”ADConn"
            connectionString="LDAP://ABCD.net" />
    </connectionStrings> 

    membership provider增加如下(此config文件中已经有system.web的节点,因此只需把下面内容放入其中,把空的<membership> <providers> </providers></membership>删除即可):

     <membership defaultProvider="ADMembers">
       <providers>
          <add name="ADMembers"
               type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
               connectionStringName="ADConn"
               enableSearchMethods="true"
               attributeMapUsername="sAMAccountName" />
       </providers>
    </membership> 

    备注: connectionStrings 元素应放在<system.web></system.web> 节点的外部, membership provider 元素应该放在<system.web></system.web> 节点内, 同时你会发现这里已经有一个默认的membership 及 role provider, SPClaimsAuthMembershipProvider & SPClaimsAuthRoleProvider in Microsoft.SharePoint.Administration. 

    保存并关闭 web.config 文件. 

    3) 更改STS Application web.config 配制文件

    进入目录:“C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\WebServices\SecurityToken”;

    打开里面的web.config文件,

    如果是第一次配制 claims声明认证,里面没有<system.web>的节点,所以里面的所有关于认证的信息都需要现在添加:

    <connectionStrings>
       <add name=”ADConn"
            connectionString="LDAP://ABCD.net" />
    </connectionStrings>

    <system.web>

    <membership defaultProvider="ADMembers">
       <providers>
          <add name="ADMembers"
               type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
               connectionStringName="ADConn"
               enableSearchMethods="true"
               attributeMapUsername="sAMAccountName" />
       </providers>
    </membership>

    </system.web> 

    添加好后,重启IIS.

    接下来要做的就是: 先前创建Web Application的时候,我们没有选择使用“Enable Form Base authentication”,因此按照如下步骤进去设置;

    依次进入: central administration -> security -> general security 点击“specify authentication provider”;

         

    在web application 处选择刚才创建的web application, 然后在“Zone”处点击 “default”,

     

    在打开的页面中,选择“Enable Form Based Authentication(FBA)”,并在“ASP.NET Membership Provider”文本框处填入前面所配制的membership provider name“ADMembers”;

     

     

    保存“OK”。

    再次配制管理员用户, 所以用户均来自ADMembers这个membership中,步骤:

    依次打打: central administration -> Application management -> sites collections -> change sites collection administrator,

     

    在新打开的窗口中的右侧,选择前面创建的web application, 在primary site collection administrator处选择 “ADMembers”提供的用户作为管理员。如下面所示,鼠标放在用户名上可以看出来此用户是 “ADMembers”提供的用户。当保存后,这用户将做为此web application的管理员。

     

    接下来为web application添加其它用户,操作方式为: web application->选择创建的web application -> User Policy,

     

    在弹出来的对话框选择“Add User”,并赋予权限,保存。

     

     当用户添加成功后,结果如下图示:

     

     

    接下来进入我们创建好的站点, 地址栏输入站点网址访问。

    因为同时选择了windows authentication和Form based authentication两种方式,所以在访问的时候系统默认提供一个可供选择登陆模式的下拉列表,列出两种可先的登陆方式:

     

    选择form认证方式,在弹出的对话框中输入username及密码就可能是登陆了:

     

    登陆成功后的页面如下两图所示(加载页面与首页):

     

     

     

    至此FBA认证的AD完成,希望对大家有所帮助。

    类似文章参考地址1:http://blogs.visigo.com/chriscoulson/configuring-forms-based-authentication-in-sharepoint-2013-part-1-creating-the-membership-database/

    类似文章参考地址2:http://blogs.msdn.com/b/sridhara/archive/2010/01/07/setting-up-fba-claims-in-sharepoint-2010-with-active-directory-membership-provider.aspx

  • 相关阅读:
    「持续集成实践系列」Jenkins 2.x 搭建CI需要掌握的硬核要点
    常用的20个在线工具类网站清单
    推荐一款Python神器,5 行 Python 代码 实现一键批量扣图
    一套测试用例如何实现支持多个环境运行
    推荐一款Python数据可视化神器
    全网独家:成长经历分享 & 我为什么要写书?
    整理一份程序员常用的各类工具、技术站点
    关于《自动化测试实战宝典:Robot Framework + Python从小工到专家》
    重磅新书 |《自动化测试实战宝典:Robot Framework + Python从小工到专家》上市了!
    献给即将35岁的初学者,焦虑 or 出路?
  • 原文地址:https://www.cnblogs.com/52life/p/520Life_SharePoint.html
Copyright © 2020-2023  润新知