Sharepoint2013建立FBA身份验证(基于SQL)

数据库版本为SQL server 2012

Vs版本为vs2012

Sharepoint版本为sharepoint2013

服务器系统版本为 windows server 2012

 

本人是刚刚接触sharepoint网站,而且计算机方面也是新手。新手写的帖子,柔和了许多其他人的帖子,只是想为日后再建立时提个醒,方便些。

 

首先新建一个SQL数据库的登录名(可选):

添加SQL Server登录的方法
1.展开服务器组,然后展开服务器。

2.展开"安全性",右击"登录",然后单击"新建登录"。

3.在"名称"框中,输入 Microsoft® SQL Server™ 登录的名称。

4.在"身份验证"下,选择"SQL Server 身份验证"。

5.在"密码"中输入密码。(可选)

6.可选:在"数据库"中,单击在登录到 SQL Server 实例之后登录将连接到的默认数据库。

这里我建立的账户为:GCBWX

密码为:sanqi-508

之后我们配置存储表单用户的数据库。

运用aspnet-regsql程序

位置在C:\Windows\Microsoft.NET\Framework\v2.0.50727

之后按照提示新建数据库,名称SQL-Auth

之后我们在sharepoint管理中心中新建web应用程序。

SQL-MembershipProvider  成员
SQL-RoleManager       
角色

 

服务先选这几项,建立好网站集之后可以再添加

先不急着建立网站集,先更改修改管理中心,我们创建的应用程序,还有Web服务里面的SecurityTokenServiceApplication 这个3个地方的web.config

在每个web.config中都添加:

<system.web></system.web>上面的位置添加

 

  <!--下面的是添加的-->

  <connectionStrings>

    <addname="SQLConnectionString"connectionString="Data Source=HYPCGCB;Initial Catalog=SQL-Auth;User ID=GCBWX;password=sanqi-508" />

  </connectionStrings>

  <!--结束-->

 

找到应用程序的web.config

位置:C:\inetpub\wwwroot\wss\VirtualDirectories\80

<system.web></system.web>中更改

<membership defaultProvider="i">

     
<providers>

       
<add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=15.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=15.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>

找到管理中心的web.config

位置在:C:\inetpub\wwwroot\wss\VirtualDirectories\40736

(40736)可能与你建的不一样。

<system.web></system.web>中更改

<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>

找到Web服务里面的SecurityTokenServiceApplication

位置C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\WebServices\SecurityToken

修改其中的web文件。

添加

<system.web>

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

     
<providers>

       
<add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=15.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=15.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>

</system.web>

之后就可以建立网站集了

不过在这之前我们先编一个可以往表单数据库中添加账户的程序。

打开vs2012:建立项目:

之后,更改web.config文件:

<system.web>标签上添加:

<!--下面的是添加的-->

  <connectionStrings>

    <addname="AspNetSqlProvider"connectionString="Data Source=HYPCGCB;Initial Catalog=SQL-Auth;User ID=GCBWX;password=sanqi-508" />

  </connectionStrings>

  <!--结束-->

<system.web></system.web>标签内替换

<membershipdefaultProvider="AspNetSqlMembershipProvider">

 

      <providers>

 

        <removename="AspNetSqlMembershipProvider" />

 

        <addconnectionStringName="AspNetSqlProvider"

 

        passwordAttemptWindow="10"

 

        enablePasswordRetrieval="false"

 

        enablePasswordReset="true"

 

        requiresQuestionAndAnswer="true"

 

        applicationName="/"

 

        requiresUniqueEmail="false"

 

        passwordFormat="Hashed"

 

        description="描述信息"

 

        name="AspNetSqlMembershipProvider"

 

        type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

 

      </providers>

 

    </membership>

 

    <roleManagerenabled="true"defaultProvider="AspNetSqlRoleProvider">

 

      <providers>

 

        <removename="AspNetSqlRoleProvider" />

 

        <addconnectionStringName="AspNetSqlProvider"

 

        applicationName="/"

 

        description="描述信息"

 

        name="AspNetSqlRoleProvider"

 

        type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

 

      </providers>

 

    </roleManager>

 

之后运行项目——ASP.NET配置

通过打开的网页往所建的数据库中添加用户

之后就是建立网站集。

sharepoint管理中心中创建网站集:

在主管理员中添加新建的表单用户。为以防万一在第二管理员中添加域用户

 之后创建网站即可。

之后登陆所创建的网站,不出意外应该会成功。若无法登陆应回头看3web.config文件时否改对,可能是创建网站集时会对所修改过的内容一定的改变。

若表单用户登录成功可以在sharepoint管理中心网站中将windows验证模式取消,方法:应用管理员账户登录sharepoint管理中心网站,点击管理web应用程序,点击所建网站基于的应用程序,之后选择身份验证提供程序,之后点击默认。

此处也可以讲匿名登录开启。

于此同时,可以检查刚刚所建的表单用户是否具有完全控制权限。方法如下

点击用户策略查看,若无,可以自行添加(是否必须还未考证)。

之后我们再次登录所建设的网站中,点击右上角的螺母标志,选择网站设置。进入界面之后选择人员和组,添加其他的表单用户,通知可以设置组的权限。同时,可以点击网站权限来设置开启网站的匿名访问。

至此,简单的网站搭建结束。

 

 

 

总结:sharepoint2013建立FBA身份验证(基于SQL)与2010版本基本一样,但要注意到版本问题,2013应经2010代码中的版本Version=14.0.0.0改为Version=15.0.0.0

 

 

 

 

 

 

 

 

 

 

参考:http://wenwen.soso.com/z/q108816102.htm

http://hi.baidu.com/fdpdskzbxjbhvyq/item/b34ec52d1082471309750867  (关于用于生成往数据库中写入表单用户的网站的方法)

http://blog.csdn.net/FoxDave/article/details/5793696

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值