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

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


摘要

  前面的文章中,我们注册一个新用户后,需要手动加到网站的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。


  下一篇文章我将记录如何解决实现注册用户后,自动具备访问网站的权限的第二部分。欢迎大家继续关注:)多谢!
posted on 2006-08-18 19:25  张德强  阅读(2073)  评论(2编辑  收藏  举报