修改用户注册时的严格密码规则(..NET 2005 的密码验证规则 为长度8位有大小写字母而且有一个特殊字符. 以下内容将规则修改为 无特殊字符 最短密码长度为3
因为在默认情况下,membershipProvider  是需要提供密码提问和答案的,如果手动使用Membership.CreateUser(String username,String Password,String Email)的情况下如果不设定
requiresQuestionAndAnswer="false"  则上面的方法无法通过.会出异常,设定后表示不需要密码提示问题和答案, 默认情况下系统也会检查用户EMAIL是否唯一,requiresUniqueEmail="false" 设定不需要EMAIL唯一的选项, 还有如果用户名不唯一的话.也会报异常.这时需要通过TRY CATCH来解决问题.
<membership defaultProvider="SqlProvider">
   
<providers>
        
<add name="SqlProvider" 
        type
="System.Web.Security.SqlMembershipProvider" 
        connectionStringName
="LocalSqlServer" 
        minRequiredPasswordLength
="3" 
 requiresQuestionAndAnswer
="false"   //不需要密码提示问题  
 requiresUniqueEmail
="false"         //不确保用户E-MAIL唯一
        minRequiredNonalphanumericCharacters
="0" 
        passwordStrengthRegularExpression
="" />
         
   
</providers>
</membership>
 
修改密码的代码
  public static void upDateUser(string userName,string realName,string isLockedOut,string email,string newPwd)
    
{
        MembershipUser mu 
= Membership.GetUser(userName);
        mu.Email 
= email;
        
if (isLockedOut == "False")
        

            mu.UnlockUser(); 
//解除锁定
        }

        
if( newPwd !="")
        
{
        
string pwd = mu.ResetPassword();//随机修改一个密码
        mu.ChangePassword(pwd, newPwd);//修改密码
        }

        Membership.UpdateUser(mu);
    }
posted on 2007-09-03 12:09  -only-  阅读(966)  评论(0编辑  收藏  举报