前面的文章中,我们注册一个新用户后,需要手动加到网站的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。 下一篇文章我将记录如何解决实现注册用户后,自动具备访问网站的权限的第二部分。 |
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) | Powered by Discuz! X3.3 |