解决“允许使用简单密码注册用户”后出现的问题

按照教程在web.config中添加了如下代码后(具体添加方法见教程) :

 

< membership >
            
< providers >
                
< clear />
                
< add  name ="AspNetSqlMembershipProvider"
                    connectionStringName
="LocalSqlServer"
                    minRequiredPasswordLength
="4"
                    minRequiredNonalphanumericCharacters
="0"
                    type
="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"   />
            
</ providers >
        
</ membership >
        
        
< roleManager  enabled ="true" >
            
< providers >
                
< clear  />
                
< add  name ="AspNetSqlRoleProvider"
                    connectionStringName
="LocalSqlServer"  
                    type
="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"   />
            
</ providers >
        
</ roleManager >

 

      发现在网站的“网站设置 -> 人员与组”中,无法添加新注册的用户。重启IIS后,问题依然存在。怎么办?只好到数据库中找问题了,在数据表aspnet_users中,发现在修改web.config前后,注册的用户信息中,字段ApplicationId的值不同。又到数据表aspnet_Applications中查看后,发现在aspnet_users表中出现的两个ApplicationId分别属于在MOSS上创建的网站和在VS.Net2005中创建的Project的。

      有了这个发现,尝试着将aspnet_users表中,所有的ApplicationId都改成MOSS上的网站ApplicatoinId。再去网站上一试,发现修改了web.config后注册的用户已经可以添加了。

     所有的用户都是用我在VS.Net2005创建的工程中添加的, 究竟是什么原因造成了这种使用两个不同的ApplicationId的情况还没有搞清楚。

    上面的是比较笨的解决办法。在一位仁兄的blog里找到了一个很简单的解决方法,即在web.config中加入该网站/工程应当使用的ApplicationId即可。这样一来,将上面的代码改为如下:

 

< membership >
            
< providers >
                
< clear />
                
< add  name ="AspNetSqlMembershipProvider"
                    applicationName
="/"  
                    connectionStringName
="LocalSqlServer"
                    minRequiredPasswordLength
="4"
                    minRequiredNonalphanumericCharacters
="0"
                    type
="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"   />
            
</ providers >
        
</ membership >
        
        
< roleManager  enabled ="true" >
            
< providers >
                
< clear  />
                
< add  name ="AspNetSqlRoleProvider"
                    applicationName
="/"  
                    connectionStringName
="LocalSqlServer"  
                    type
="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"   />
            
</ providers >
        
</ roleManager >

 

问题就解决了。

    注,applicationName的内容可填写自己需要的内容,不一定是“/”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值