来源于:http://www.haogongju.net/art/1964313

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 的配制文件.  This is important because it is this service that will ensure claims tokens are being passed correctly between the provider (in our case AD) and the consumer (CA and our Web Application).  Further, we can have multiple providers plugged in.  STS Application manages all of these interaction for us.

1)更改Central Administration web.config

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

<connectionStrings> 
   <add name=”ADConn" 
        connectionString="LDAP://ufhosted.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://ufhosted.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://ufhosted.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完成,希望对大家有所帮助。

SharePoint2013基于Form(FBA)的AD认证登陆的更多相关文章

  1. SharePoint 2013 配置基于表单的身份认证

    前 言 这里简单介绍一下为SharePoint 2013 配置基于表单的身份认证,简单的说,就是用Net提供的工具创建数据库,然后配置SharePoint 管理中心.STS服务.Web应用程序的三处w ...

  2. AD认证

    这两天接触到一个新的知识点,AD验证.什么是AD验证?Active Directory——活动目录,活动目录只是LDAP的一个实现,提供LDAP认证.Radius认证和NTML认证,都是标准认证方式 ...

  3. laravel5.7 前后端分离开发 实现基于API请求的token认证

    最近在学习前后端分离开发,发现 在laravel中实现前后台分离是无法无法使用 CSRF Token 认证的.因为 web 请求的用户认证是通过Session和客户端Cookie的实现的,而前后端分离 ...

  4. IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证

    IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证 原文:http://docs.identityserver.io/en/releas ...

  5. 基于ThinkPHP3.23的简单ajax登陆案例

    本文将给小伙伴们做一个基于ThinkPHP3.2.的简单ajax登陆demo.闲话不多说.直接进入正文吧. 可能有些小伙伴认为TP自带的跳转页面挺好,但是站在网站安全的角度来说,我们不应该让会员看到任 ...

  6. Django基于Form之登录和注册

    1.创建Forms文件,内容略多,大家将就着看,不懂请留言 #!/usr/bin/env python # -*- coding: utf8 -*- #__Author: "Skiler H ...

  7. JavaWeb应用中的身份验证(声明式)——基于表单的身份认证

    容器管理安全最普遍的类型建立在基于表单的身份验证方式上. 通过这样的方式,server自己主动将尚未验证的用户重定向到一个HTML表单.检查他们的username和password,决定他们属于哪个角 ...

  8. 动手实验01-----vCenter 微软AD认证配置与用户授权

    环境说明: AD域->   centaline.net 阅读目录: 1. 配置与AD认证源 2.权限角色 1. 配置与AD认证源 登陆vCenter后,在 系统管理 -> 配置 -> ...

  9. Liferay7 BPM门户开发之32: 实现自定义认证登陆(定制Authentication Hook)

    第一步:修改liferay-hook.xml <?xml version="1.0"?> <!DOCTYPE hook PUBLIC "-//Lifer ...

随机推荐

  1. Hadoop优先级调度

    当同时在集群中运行多个作业时,默认情况下,Hadoop将提交的作业放入一个FIFO,一个作业结束后,Hadoop就启动下一个作业. 当一个运行时间长但是优先级较低的作业先于运行时间短而优先级较高的作业 ...

  2. iOS UIImageView自适应图片大小

    窗口大小获取: CGRect screenBounds = [ [UIScreenmainScreen]bounds];//返回的是带有状态栏的Rect CGRect rect = [ [UIScre ...

  3. 【Python】Markov text generator马尔科夫文字生成器

    遍历一段文字,统计每个字后面出现的字和其次数,当前一个字确定的时候,计算后一个字出现的百分比,用这个百分比作为文字生成器中后一个字出现的概率进行文字生成 from random import rand ...

  4. SQLite模糊查找(like)

    select UserId,UserName,Name,Sex,Birthday,Height,Weight,Role from xqhit_Users where UserName like &qu ...

  5. 谈谈ThreadStatic

    可能经常做多线程.线程池的童鞋早就知道这种问题,原谅我一直对线程研究不深. 这个东西好像出现有一段时间了,不过最近我才用到,做的API的服务,用来保存当前请求的上下文内容,原来用过Thread.Set ...

  6. iOS摇一摇功能、震动功能、简单的摇动动画、生成二维码图片与发送短信等几个功能

    有一个开锁的功能,具体的需求就类似于微信的"摇一摇"功能:摇动手机,手机震动,手机上的锁的图片摇动一下,然后发送开锁指令.需求简单,但用到了许多方面的知识. 1.摇一摇 相对这是最 ...

  7. android studio导入第三方源码模块

    从网上得到的但三方源码模块,如果直接导入到自己的项目里的时候,可能需要比较长的时间,甚至不成功. 在导入之间,还是应该将模块里的 build.gradle 编辑一下,使其与自己的android stu ...

  8. 描述符和property内建函数

    首先我们搞清楚__getattr__ ,__get__ 和 __getattribute__ 作用的不同点. __getattr__在授权中会用到. __getattribute__  当要访问属性时 ...

  9. php 中文转拼音首字母问题

    <?php /* 中文汉字转拼音首字母的PHP简易实现方法. 要求: 只能是GB2312码表里面中文字符 转换得到字符串对应的拼音首字母大写. 用法: echo zh2py::conv('Chi ...

  10. win7搭建php7+apache2.4

    从事php开发的工作也将近两年的时间了,期间在windows上安装了很多次php+apache+mysql,但一直没有写过一篇属于自己的文章,今天心血来潮准备写一篇,长话短说,开搞!! 我在配置php ...