• SharePoint 2013 配置基于AD的Form认证


    前 言

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

  • 相关阅读:
    Java单例模式深入详解
    深入理解Java的接口和抽象类
    java中为什么要给类使用代理?它有哪些好处?
    Log4j--java日志
    Log4j rootLogger配置
    selenium之 下拉选择框Select
    关于弹框
    spring controller接口中,用pojo对象接收页面传递的参数,发现spring在对pojo对象赋值时,有一定顺序的问题
    navicat mysql报错误:2013 Lost connection to MySQL server during query
    记录一次mysql导入千万条测试数据过慢的问题!
  • 原文地址:https://www.cnblogs.com/jianyus/p/4490988.html
Copyright © 2020-2023  润新知