您的位置:首页 > 运维架构 > 网站架构

一步一步SharePoint 2007之十九:解决实现注册用户后,自动具备访问网站的权限的问题(1)——配置Provider

2007-10-24 10:47 1091 查看
摘要
  前面的文章中,我们注册一个新用户后,需要手动加到网站的Members用户组中,这个用户才能真正可以访问网站,这点非常不符合我们的习惯,我们希望能够注册后,自动具备访问网站的权限。那么能不能实现这点呢?

  本篇文章将介绍如何解决实现注册用户后,自动具备访问网站的权限的问题。
正文
  考虑到实现注册用户后,自动具备访问网站的权限的文章共有近20幅截图,截图总大小近2M,为了尽量减少打开网页的时间,本篇文章将被分割成几个小的部分。因此而给大家带来的阅读不便,就请海涵了:)

  解决这个问题,实际上有两种解决思路。

  一种是用户注册后,用代码模拟一个管理员的权限,然后将用户加入到网站的Members用户组中。

  另一种是采用Role技术,即预先创建一个Role,并将该Role手动加入到网站的Members用户组中,用户注册后,用代码将该用户加入到该Role中。

  考虑到前一种方法因为要实现模拟管理员的权限,这点比较困难,也不是很主流的方案,笔者在这里就只实现第二种方案。

  下面将记录每一步的实现过程。

  1、首先按照图中显示的路径找到存放我们在本系列文章四中创建的Site的设置文件的文件夹。



  2、找到并打开web.config文件,在其中的<system.web>……</system.web>节中加入如下内容:

1 <roleManager enabled="true">

2 <providers>

3 <clear />

4 <add name="AspNetSqlRoleProvider"

5 connectionStringName="LocalSqlServer"

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

7 </providers>

8 </roleManager>

9

10 <membership>

11 <providers>

12 <clear/>

13 <add name="AspNetSqlMembershipProvider"

14 connectionStringName="LocalSqlServer"

15 minRequiredPasswordLength="4"

16 minRequiredNonalphanumericCharacters="0"

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

18 </providers>

19 </membership>



  3、找到前面创建的工程并打开web.config文件,同样在其中的<system.web>……</system.web>节中加入上面的内容。

  请注意,在前面实现Form认证时,我们将三个web.config文件给更改了,而这里只更改了两个文件。如果您不小心把三个文件都给更改了,那么后面的操作就无法进行下去了。



  4、再次打开SharePoint 3.0 Central Administration,然后打开Application Managerment管理页面。



  5、在Application Managerment管理页面中单击Authentication providers,即进入Authentication Providers页面。



  6、在Authentication Providers页面中,点击AspNetSqlMembershipProvider,即进入Edit Authentication页面。

  在该页面中,我们需要在Role manager name中填入AspNetSqlRoleProvider。



  下一篇文章我将记录如何解决实现注册用户后,自动具备访问网站的权限的第二部分。欢迎大家继续关注:)多谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐