设为首页 收藏本站
查看: 665|回复: 0

[经验分享] sharepoint2010基于表单认证

[复制链接]

尚未签到

发表于 2019-2-4 14:39:59 | 显示全部楼层 |阅读模式
  [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中将多出以下内容。




  

            

  



  

            

  






  3. 将Security Store Service配置为使用SQL Membership提供程序
  还是在IIS管理器中,在左侧的连接面板中选择“SharePoint Web Services”应用程序下的“SecurityTokenServiceAppliaation”,接下来的操作过程与刚刚配置管理中心站点的过程完全相同,这里就不再重复了。
  
  配置完成后可在其web.config文件中看到新加入了如下内容。




   

        

            

        

   

   

        

            

        

   






  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,成功~~








运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-671812-1-1.html 上篇帖子: SharePoint 2010 缺少站点保存为模板选项 下篇帖子: Sharepoint 2007 alertme (通知我) 无法正常工作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表