一步一步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。
下一篇文章我将记录如何解决实现注册用户后,自动具备访问网站的权限的第二部分。欢迎大家继续关注:)多谢!