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

 

posted @ 2013-04-23 14:26  小笔头大做用  阅读(1831)  评论(11编辑  收藏  举报