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文件路径,如下图:

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

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

<connectionStrings>
<add name="adconnection" connectionString="LDAP://spdev.sp.com.cn/CN=Users,DC=sp,DC=com,DC=cn" />
</connectionStrings>
在web.config找到如下图<membership>节点,用我们的membership覆盖掉;

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

<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的位置(备份一定要记得,我就不多说了),如下图:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

我这里已经打了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
SharePoint 2013 配置基于AD的Form认证的更多相关文章
- SharePoint 2013 配置基于表单的身份认证
前 言 这里简单介绍一下为SharePoint 2013 配置基于表单的身份认证,简单的说,就是用Net提供的工具创建数据库,然后配置SharePoint 管理中心.STS服务.Web应用程序的三处w ...
- sharepoint:基于AD的FORM认证
//来源:http://www.cnblogs.com/jindahao/archive/2012/05/07/2487351.html 需求: 1. 认证要基于AD 2. 登入方式要页面的方式(fo ...
- SharePoint 2013 配置启用搜索服务
原文:SharePoint 2013 配置启用搜索服务 1.安装完毕SharePoint 2013,新建网站集,点击搜索,出现如下错误(因为没配置,别激动). 2.尝试启动服务器场中的服务之Share ...
- SharePoint 2013 配置开发环境,需安装VS2012插件
原文:SharePoint 2013 配置开发环境,需安装VS2012插件 SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有ShareP ...
- SharePoint 2010 配置基于MemberShip的身份验证
场景:通常需要为sharepoint打通其他的系统整合到sharepoint认证,ad通常是为内部域用户,外网访问的可以使用membership来登录,那么这个既可以内部用户访问,外部用户也可以访问 ...
- SharePoint 2013 配置Excel Services
前言:本文主要介绍如何启用SharePoint 2013版本Excel Services服务,并配置Excel Web Access部件,使Excel文档可以显示在Web页面中. 简单说一下流程,Sh ...
- SharePoint 2013 直接给AD 组赋权限后,AD组里的用户还是登陆不了SharePoint,提示没有权限
直接给一个all person的AD组赋了个read权限,然后将一个名为“all beijing”的组加到all person组里,但是all beijing组里的人却不能登录sharepoint,提 ...
- SharePoint 2013 配置我的网站 图文引导
博客地址:http://blog.csdn.net/FoxDave 本篇我们来讲述一下关于SharePoint中我的网站(My Sites)相关的东西. 我的网站是SharePoint 2013中面向 ...
- SharePoint 2013配置启用搜索服务
1.安装完毕SharePoint 2013,新建网站集,点击搜索,出现如下错误(因为没配置,别激动). 2.尝试启动服务器场中的服务之SharePoint Server Search,提示新建搜索应用 ...
随机推荐
- Socket桥(转载)
最好方案:使用haproxy 或者nginx转发.自己写程序性能和监控难保证,推荐使用开源软件替代. 源地址为:http://baishaobin2003.blog.163.com/blog/stat ...
- Elasticsearch 数据搜索篇·【入门级干货】
ES即简单又复杂,你可以快速的实现全文检索,又需要了解复杂的REST API.本篇就通过一些简单的搜索命令,帮助你理解ES的相关应用.虽然不能让你理解ES的原理设计,但是可以帮助你理解ES,探寻更多的 ...
- fastcgi安装
fastcgi安装 这里及以下的web服务器都是以nginx为例子和说明,php以5.3为例子. php-fpm fastcgi在服务器上会启动多个进程进行解析,这个时候就需要一个fastcgi的管理 ...
- 基于HTML5的3D网络拓扑自动布局
上篇将HT for Web的3D拓扑弹力布局的算法运行在Web Workers后台(http://www.hightopo.com/blog/70.html),这篇我们将进一步折腾,将算法运行到真正的 ...
- JavaScript基础—闭包,事件
Js基础-闭包,事件 1:js中的闭包 概念:在一个函数内部又定义了一个函数,内部函数能访问到外部函数作用域范围内的变量,这时这个内部函数就叫做闭包,无论这个内部函数在哪里被调用都能访问到外部函数作用 ...
- 【转】 Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...
- 创建与使用Web API
今天做了一个练习,实现单独的Web API project.以前只是在ASP.NET MVC project内创建. 创建一个Web API project,可参考下面步骤: 点击OK之后,出现另外一 ...
- .NET项目开发的几个非常重要的项目设置
在开发.NET项目的时候,包括Winform项目和Web方面的项目,编译和部署的时候,都需要考虑到是32位的X86方式,还是64位的方式,有时候还需要进行调试,如果没有合理设置好这些关系,还可能出现无 ...
- Qt的tablewidget行列头自适应宽度
Qt构造一个TableWidget后,窗口最大化后,列头默认不能自适应宽度,研究了一下,Qt提供了两种方式来处理这个问题,如下: 1. 使用horizontalHeader()->setRe ...
- 详谈Hibernate框架关系映射!
接触Hibernate也有一小段的时间了,愈发的觉得Hibernate是个神奇的东西,为什么这么说呢?因为你可以不懂一行sql,直接面向对象,就可以将数据直接保存到数据库去!! 你还可以保存一个对象, ...