SharePoint 2013 配置基于AD的Form认证-阿里云开发者社区

开发者社区> 开发与运维> 正文

SharePoint 2013 配置基于AD的Form认证

简介: 前 言   配置SharePoint 2013基于AD的Form认证,主要有三步: 1. 修改管理中心的web.config; 2. 修改STS Application的web.config; 3.

前 言

  配置SharePoint 2013基于AD的Form认证,主要有三步:

1. 修改管理中心的web.config;

2. 修改STS Application的web.config;

3. 修改Web应用程序的web.config并开启FBA;

  首先,修改CA的web.config,一般在不知道端口号的时候(因为创建CA的时候,即使我们修改了端口号,创建后也会使用默认的那个,但是访问却使用我们填写的那个),我们选择在IIS中找到CA文件路径,如下图:

clip_image001

  通常我们应该先进行web.config的备份,然后进行修改,防止改错以后无法还原;当然如果你有其他SharePoint环境,改错以后覆盖一下也是可以的;

clip_image002

  在</configSections>下面的位置加入如下图节点,如下图:

clip_image003

<connectionStrings>
  <add name="adconnection" connectionString="LDAP://spdev.sp.com.cn/CN=Users,DC=sp,DC=com,DC=cn" />
</connectionStrings>

  在web.config找到如下图<membership>节点,用我们的membership覆盖掉;

clip_image004

修改覆盖为如下图节点,内容附后,方便大家复制/粘贴:

clip_image005

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

  特别要说的是ADMemberShip是将来填写到Web App验证提供程序的,connectionStringName是我们上一步添加的,名字一定不要错!

  管理中心web.config到此修改完毕!

 

  接下来修改STS Application的web.config,同样我们在IIS中浏览,找到web.config的位置(备份一定要记得,我就不多说了),如下图:

clip_image006

  在如下</system.serviceModel>后面位置,插入连接串(内容同CA),如下图:

clip_image007

  web.config下面没有System.web节点,所以直接在上一个节点下面,加了一个<system.web>,并添加我们的<membership>节点(内容同CA),如下图:

clip_image008

  到此STS Application的web.config也修改完毕,保存即可!

 

  然后修改web app的web.config,这个我们可以通过IIS找到,也可以直接去找,我就不多说了;修改web.config,添加连接串节点(内容同CA),如下图:

clip_image009

  然后<membership>节点添加不同,因为默认已经有了一个,我们只需要把Add部分加进来即可(截图不完整,具体内容复制CA的部分即可),如下图:

clip_image010

  此时,我们重启一下IIS,如下图:

clip_image011

  然后去管理中心,管理Web应用程序,修改Web app的验证提供程序,如下图:

clip_image012

  在弹出的对话框中,点击默认即可,如果你有多个区域,点击你需要修改的区域即可,如下图:

clip_image013

  勾选启用基于窗体的身份认证(FBA),输入ASP.NET成员身份提供程序名称,其他均为默认选项,如下图:

clip_image014

  然后去CA修改该网站集管理员,将我们ADForm账号的一个用户添加进去,好进行登录测试,如下图:

clip_image015

  选中我们要修改的网站集(刚刚修改过web.config web app下面的网站集),点击人员选择器的控件,我们查找一下人员;

clip_image016

  进行人员筛选,查找linyu,发现一个AD账号,一个表单验证账号,说明配置成功了,如下图:

clip_image017

  鼠标悬浮在linyu的名字上面,会有一个提示,提示的是该用户的完整名字,是我们配置的ADForm账号!

clip_image018

  进行登录测试,发现跟单独的Windows认证不同了,需要选择登录方式了,我们选择表单认证即可,如下图:

clip_image019

  进入Form认证的登陆页面,输入linyu(刚刚加入到网站集管理员的账号)和相应的密码,点击登录即可,如下图;

clip_image020

  稍等片刻,发现登陆成功,右上角为linyu了,我们点击linyu这个用户名,会有下拉框,点击我的设置,查看用户具体信息;

clip_image021

  进入用户信息,发现账户的完整格式,是我们配置的ADForm认证的账号!至此,ADForm认证配置成功!

clip_image022

  特别的,据说没有打sp1补丁的环境,如果FBA不是创建web app的时候就勾选,后来才修改的,需要执行一下PowerShell命令开启,如下图:

clip_image023

  我这里已经打了sp1补丁,没办法测试,所以有需要的自己测试一下吧,命令文本附后,方便大家复制。

$w = Get-SPWebApplication "http://<server>/"
$w.UseClaimsAuthentication = "True";
$w.Update()
$w.ProvisionGlobally()

总 结

  对于roleManager,我看到一些博客配置ADForm认证的时候,会修改这个配置,我觉得默认我们使用SharePoint自带的一套roleManager,所以不需要配置。关于roleManager,我在博客最后附了一下他的作用,大家有兴趣,自己了解一下吧。

  当然,如果是基于SQL的Form认证,我们为了方便管理,可能会自定义一套roleManager,那时我们就需要单独配置了。

  最后,没有什么特别想说的,本文是参照SharePoint 2010基于AD的Form认证配置的,其实在2007中,就已经很方便的进行配置了。

  配置 过程中,我尽量把完整的过程截图表示出来,大家有需要,就参考一下吧。

附 录

了解角色管理

https://msdn.microsoft.com/zh-cn/library/5k850zwb(v=vs.80).aspx

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章