修改用户注册时的严格密码规则(..NET 2005 的密码验证规则 为长度8位有大小写字母而且有一个特殊字符. 以下内容将规则修改为 无特殊字符 最短密码长度为3
因为在默认情况下,membershipProvider 是需要提供密码提问和答案的,如果手动使用Membership.CreateUser(String username,String Password,String Email)的情况下如果不设定
requiresQuestionAndAnswer="false" 则上面的方法无法通过.会出异常,设定后表示不需要密码提示问题和答案, 默认情况下系统也会检查用户EMAIL是否唯一,requiresUniqueEmail="false" 设定不需要EMAIL唯一的选项, 还有如果用户名不唯一的话.也会报异常.这时需要通过TRY CATCH来解决问题.
修改密码的代码
因为在默认情况下,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>
<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);
}
{
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);
}