[SharePoint 2010]为SharePoint 2010配置基于表单的身份认证

总体来说SharePoint 2010与2007配置基于表单的认证的方法几乎一样,不过仍然有些区别,例如在SP 2010中已不再提供单独的基于表单的身份验证,而是通过基于声明的身份验证来提供这一功能。本篇博客中小弟将对如何将SharePoint 2010配置为基于表单的认证的方法进行说明。

在下面的例子中将为一个SharePoint 2010 Web应用程序启用基于声明的身份验证,并且同时使用AD和表单两种验证方式,使用数据库储存用户凭据,通过IIS管理器来管理用户。

1. 配置数据库以储存用户凭据

如果大家曾为SharePoint 2007配置过表单认证的话,那么这步操作就是非常简单的,因为它与2007中完全一样。我们仍然可以使用ASP.NET SQL Server安装向导,也就是aspnet_regsql.exe这个工具来自动创建一个用于表单认证的数据库和所有需要的表。

为了安全起见,我们可以为该数据库单独创建一个帐号,用于在用户登录时Web应用程序可使用此帐号来访问本数据库验证用户信息。

打开SQLServer Managerment Studio在对象资源管理器中展开“安全性”,右键选择“登录名”,点击“新建登录名”。

在添加完用户后还需要为该用户授予访问用于存储用户凭据的数据库的权限。还是在对象资源管理器中选择前面通过ASP.NET SQL Server安装向导所创建的数据库,展开该数据库下的“安全性”,右键选择“用户”,点击“新建用户”,在“登录名”中填写刚刚建立的用户,然后为该用户赋予db_owner的角色。

2. 将SharePoint 2010管理中心站点配置为使用SQL Membership提供程序

SharePoint站点默认的都是采用基于AD的身份验证,或许在这里你要问为什么要将SharePoint管理中心配置为表单验证,一般情况下当我们要访问管理中心时并不需要使用表单验证的登录方式啊。确实如此,不需要使用表单验证的方式登录管理中心,但是假如我们需要将某些存储在数据库中的用户设为网站集管理员或其它这一类的操作时,将管理中心配置为使用SQL Membership提供程序就是必不可少的了。

打开IIS管理器,选择“SharePoint Central Administration v4”,此时可以看到在中间的主页上有很多的选项,在这里我们要使用的则是“连接字符串”与“提供程序”。

首先打开“连接字符串”,在画面右边的操作菜单中点击“添加”以创建一个新的用于连接到我们在上一步中新建的用于存储用户凭据的数据库的连接字符串,并将其命名为FBADB。

接着返回SharePoint Central Administration v4 主页,打开提供程序页,在此我们将为管理中心站点添加角色提供程序与用户提供程序。在“功能”下拉框中选择“.NET角色”,然后点击操作面板内的“添加”新建一个角色提供程序,将其类型设为“SqlRoleProvider”,然后将“ConnectionStringName”这一项设置为上一步中创建的那个连接字符串的名称。

最后还需设置成员身份提供程序,还是在“功能“下拉框中,选择“.NET用户”,然后添加一个用户提供程序,其类型为“SqlMembershipProvider”,并且同样将连接字符串设置为我们刚刚新建的那条。

现在管理中心的有关配置已经完成了,我们可以打开管理中心的web.config文件来检查下所修改的内容。修改后的web.config中将多出以下内容。

<roleManager>
<providers>
<add name="FBARoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" />
</providers>
</roleManager>
<membership>
<providers>
<add name="FBAMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" enablePasswordReset="true" enablePasswordRetrieval="false" passwordFormat="Clear" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" />
</providers>
</membership>

3. 将Security Store Service配置为使用SQL Membership提供程序

还是在IIS管理器中,在左侧的连接面板中选择“SharePoint Web Services”应用程序下的“SecurityTokenServiceAppliaation”,接下来的操作过程与刚刚配置管理中心站点的过程完全相同,这里就不再重复了。

配置完成后可在其web.config文件中看到新加入了如下内容。

<system.web>
<roleManager>
<providers>
<add name="FBARoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" />
</providers>
</roleManager>
<membership>
<providers>
<add name="FBAMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="FBADB" enablePasswordReset="true" enablePasswordRetrieval="false" passwordFormat="Clear" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" />
</providers>
</membership>
</system.web>

4. 创建Web应用程序,并启用基于声明的身份验证

现在我们就可以创建一个将要使用表单认证的web应用程序了。

打开SharePoint 2010管理中心,创建一个新的Web应用程序,将验证方式选为“基于声明的身份验证”。

在“声明身份验证类型”中勾选上“启用Windows验证”和“启用基于窗体的身份验证”,并在“ASP.NET成员身份提供程序名称”与“ASP.NET角色管理器名称”中分别填入刚刚在IIS管理器中为管理中心和Security Store Service配置的FBAMembershipProvider和FBARoleProvider。

在Web应用程序创建完毕后还需创建一个网站集,此时因为我们已经为管理中心配置好了SqlMember Provider,所以在设置网站集管理员时已经可以使用那些存储于数据库中的用户了。

5. 为Web应用程序配置SQL Membership提供程序

在上一步中的web应用程序创建好后,我们还要为其配置SQL Membership提供程序,就像对管理中心和Security Store Service所做的那样,不过略微有些不同。

首先还是要创建连接字符串,添加角色提供程序与用户提供程序,这三步与刚才没什么不同。其实到了这里已经可以通过表单认证的方式访问我们刚刚所创建的那个网站集了,不过此时我们的用户数据库中还没有数据,所以即使表单认证已经可以使用了,我们却还是无法登录。创建用户的方法有很多,可以通过一些开源的小工具创建,也可以自己写一个Web应用程序来完成新用户的注册,在本篇博客中我们则将使用IIS管理器来完成新用户的创建。

首先在Web应用程序主页上选择“.NET角色”,点击右侧的“设置默认提供程序”,将默认的提供程序改为我们刚刚创建的FBARoleProvider。此时在我们的数据库中可能还没有任何角色,点击“操作”面板下的“添加”即可新建一个角色。

接着回到主页,选择“.NET用户”,同样的将默认提供程序设置为FBAMembershipProvider,随后我们就可以在IIS管理器中创建用户了。

在进入“.NET角色”和“.NET用户”界面时可能会弹出下图所示的警告信息,该信息忽略即可,并不影响我们的正常使用。

还有一个需要注意的问题,当我们创建好角色和用户后,必须将“.NET角色”和“.NET用户”的默认提供程序改回去,否则在登录网站时会出现下面这个错误。

默认的“.NET角色”提供程序名称为“c”,“.NET用户”的默认提供程序为“i”,改回来后让我们再来看看。

OY,成功~~

转载于:https://blog.51cto.com/liuzf/1153333

sharepoint2010基于表单认证相关推荐

  1. (chap8 确认访问用户身份的认证) 基于表单认证

    1. 定义 基于表单的认证方法并不是在HTTP协议中定义的.客户端会向服务器上的Web应用程序发送登录信息( Credential ),按登录信息的验证结果认证. 根据Web应用程序的实际安装,提供的 ...

  2. 为ASP.NET MVC配置基于Active Directory的表单认证方式

    为ASP.NET MVC配置基于Active Directory的表单认证方式 最近一直在研究基于Active Directory的表单认证方式,同时也在关注ASP.NET MVC的情况,同时也在应用 ...

  3. spring mvc 基于表单的认证过程及cookie应用和session管理

    我们日常生活中都会接触到各种登录过程,基于表单的认证一般是将客户端发送过来的用户ID和密码与之前登录过的信息做匹配来进行认证的.这个过程我们都很清楚,不过HTTP协议是无状态协议,不能保存用户登陆的状 ...

  4. Web应用中基于密码的身份认证机制(表单认证、HTTP认证: Basic、Digest、Mutual)

    Web应用中基于密码的身份认证机制 背景概念 认证(Authentication) 会话管理 1 表单认证(Form-Based Authentication) 1.1 介绍 1.2 流程 2 通用的 ...

  5. 基于表单的网站身份验证的权威指南[关闭]

    基于表单的网站身份验证 我们认为Stack Overflow不仅应该是非常具体的技术问题的资源,而且还应该是关于如何解决常见问题变化的一般指导原则. "基于表单的网站身份验证"应该 ...

  6. shiro表单认证(系统默认的form认证器)

    原文地址:http://blog.csdn.net/zcl_love_wx 注意:此文是基于springMVC框架的,所以关于springMVC的配置这里不说,后面有时间专门写一个shiro整合spr ...

  7. 【SpringSecurity系列02】SpringSecurity 表单认证逻辑源码解读

    概要 前面一节,通过简单配置即可实现SpringSecurity表单认证功能,而今天这一节将通过阅读源码的形式来学习SpringSecurity是如何实现这些功能, 前方高能预警,本篇分析源码篇幅较长 ...

  8. 基于表单的暴力破解演示

    ***要想成功就必须做充足的准备,暴力破解更是这样*** 一**.配置暴力破解的环境和要求** 1.java环境 2.皮卡丘靶机软件 3.PhpStudy 具体如下: (1)java下载之后要去电脑的 ...

  9. 在ASP.NET中如何用C#.NET实现基于表单的验证

    这篇文章引用到了Microsoft .NET类库中的以下名空间: System.Data.SqlClient System.Web.Security ------------------------- ...

  10. SharePoint 2013 表单认证使用ASP.Net配置工具添加用户

    前 言 上面一篇博客,我们了解到如何为SharePoint 2013配置表单身份认证,但是添加用户是一个麻烦事儿:其实,我们还可以用Asp.Net的配置工具,为SharePoint 2013添加表单用 ...

最新文章

  1. Nginx流媒体支持配置
  2. mybaits八:select查询返回map集合
  3. matlab求系统根轨迹代码_根轨迹法、PID参数整定和matlab指令计算
  4. C 常见的面试知识点(下)
  5. 谷歌浏览器 转方向_转专业 | 希望你们能在岔路口选对自己的路
  6. html中右边框出不来,html,为什么右边框会被挡住?
  7. 避免门事件 巧妙清除搜狗浏览器记录
  8. Lua概念定义及相关资料
  9. Android消除Toast延迟显示
  10. PRML第三章3.2
  11. python实现多线程输出123123
  12. rpm -ivh安装mysql_RPM 命令详细介绍
  13. 从集合角度看二项式系数之和的计算
  14. ResNet详细解读
  15. oracle的top命令,ORACLE db top 命令(oratop)
  16. 网络运维系列:二级域名启用与配置
  17. java 银行支付接口_cbcPayment 建设银行Java支付接口详细说明文档dsdsdds - 下载 - 搜珍网...
  18. QGIS一键加载100万基础地理信息数据导出
  19. 传统型编码器测速方案
  20. python中进程的几个概念

热门文章

  1. Go 遍历map时的key随机化问题及解决方法
  2. 老显卡都涨价了,所以我把坏的显卡拿出来修
  3. 使用PrinterJob进行分页打印
  4. 全网首发:CENTOS FreeSwitch集成NVIDIA CODEC
  5. com.google.common.base.Preconditions.checkNotNull(Preconditions.java:877)
  6. eclipse多余的Workspace如何删除
  7. 行业点评:大疆反腐事件,员工的反驳
  8. bat脚本 rar压缩屏蔽某文件夹 不压缩某文件夹
  9. php声明变量开头,php声明一个变量需要注意些什么
  10. OpenWrt running on VMware