Sharepoint 2010 Form 身份认证的实现(基于SQL)

废话不说了,我们来看看怎么实现的吧:

1:创建一个基于身份认证的应用程序(具体参见上篇基于AD)



 
 
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> SQL-MembershipProvider 成员
SQL-RoleManager 角色



2:修改管理中心,我们创建的应用程序,还有Web服务里面的SecurityTokenServiceApplication 这个3个地方的web.config

每个地方都要加连接数据库的字符串(最好自己新建的账户访问数据库,不然可能访问不到数据)



 
 
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> < connectionStrings >
< add name ="SQLConnectionString" connectionString ="Data Source=jiangly;Initial Catalog=SQL-Auth;User ID=jly;password=P@ssw0rd" />
</ connectionStrings >

找到管理中心的<system.web></system.web>,配置如下:



代码
 
  
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> < roleManager defaultProvider ="AspNetWindowsTokenRoleProvider" enabled ="true" cacheRolesInCookie ="false" >

< providers >

< add connectionStringName ="SQLConnectionString" applicationName ="/" description ="Stores and retrieves roles from SQL Server" name ="SQL-RoleManager" type ="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</ providers >

</ roleManager >

< membership defaultProvider ="SQL-MembershipProvider" >

< providers >

< add connectionStringName ="SQLConnectionString" passwordAttemptWindow ="5" enablePasswordRetrieval ="false" enablePasswordReset ="false" requiresQuestionAndAnswer ="true" applicationName ="/" requiresUniqueEmail ="true" passwordFormat ="Hashed" description ="Stores and Retrieves membership data from SQL Server" name ="SQL-MembershipProvider" type ="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</ providers >

</ membership >

找到应用程序的<system.web></system.web>,配置如下

代码
 
  
<!--</p><p>Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/</p><p>--> < membership defaultProvider ="i" >

< providers >

< add name ="i" type ="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

< add connectionStringName ="SQLConnectionString" passwordAttemptWindow ="5" enablePasswordRetrieval ="false" enablePasswordReset ="false" requiresQuestionAndAnswer ="true" applicationName ="/" requiresUniqueEmail ="true" passwordFormat ="Hashed" description ="Stores and Retrieves membership data from SQL Server" name ="SQL-MembershipProvider" type ="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</ providers >

</ membership >

< roleManager defaultProvider ="c" enabled ="true" cacheRolesInCookie ="false" >

< providers >

< add name ="c" type ="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

< add connectionStringName ="SQLConnectionString" applicationName ="/" description ="Stores and retrieves roles from SQL Server" name ="SQL-RoleManager" type ="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</ providers >

</ roleManager >

找到SecurityTokenServiceApplication站台web.config,它里面没有<system.web></system.web>,你需要自己添加

3 改好后,自己创建一个用户(这个太简单了,我就不讲了哈),加入站点集里,完了。用这个账号去测试吧,哈哈

参考资料:

http://www.sharepointchick.com/archive/2010/05/07/configuring-claims-and-forms-based-authentication-for-use-with-a.aspx

http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/41e5fea7-a2e5-4965-aa5c-78d76be3f4f0

http://devmeat.com/show/5739564

http://blogs.technet.com/b/mahesm/archive/2010/04/07/configure-forms-based-authentication-fba-with-sharepoint-2010.aspx

代码
 
  
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> < system.web >

< roleManager defaultProvider ="c" enabled ="true" cacheRolesInCookie ="false" >

< providers >

< add name ="c" type ="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

< add connectionStringName ="SQLConnectionString" applicationName ="/" description ="Stores and retrieves roles from SQL Server" name ="SQL-RoleManager" type ="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</ providers >

</ roleManager >

< membership defaultProvider ="i" >

< providers >

< add name ="i" type ="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

< add connectionStringName ="SQLConnectionString" passwordAttemptWindow ="5" enablePasswordRetrieval ="false" enablePasswordReset ="false" requiresQuestionAndAnswer ="true" applicationName ="/" requiresUniqueEmail ="true" passwordFormat ="Hashed" description ="Stores and Retrieves membership data from SQL Server" name ="SQL-MembershipProvider" type ="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</ providers >

</ membership >
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值