密碼郵箱驗證
/// <summary>
/// 重置密碼
/// </summary>
/// <param name="username"></param>
/// <param name="email"></param>
/// <returns></returns>
public ResetPasswordStatus ResetPassword(string username, string email)
{
MembershipUserCollection users = Membership.FindUsersByName(username);
if (users.Count <= 0)//用戶名未找到
{
//不要在BLL、DAL等非UI層來進行UI層的操作(比如MessageBox、Redirect)
return ResetPasswordStatus.UserNameNotFound;
}
else if (users.Count > 1)
{
throw new Exception("存在多個重名的用戶名:"+username);
}
MembershipUser user = users[username];
if (email != user.Email)//Email不匹配
{
return ResetPasswordStatus.EmailInvalid;
}
//重置密碼
string newPwd = user.ResetPassword();//重置為新密碼
//生成一個簡單的隨機的新密碼
//一種思路是用生成驗證碼的隨機數(shù)算法
//或者也可以使用取巧的辦法,就是取Guid的后六位
string guid = Guid.NewGuid().ToString();
string newSimplePwd = guid.Substring(guid.Length - 6);
user.ChangePassword(newPwd, newSimplePwd); //把ResetPassword返回的復(fù)雜的密碼改成新密碼
CommonHelper.SendEmail(user.Email,
"您在xx網(wǎng)的新密碼", "。。新密碼是:" + newSimplePwd);
return ResetPasswordStatus.Success;
}
浙公網(wǎng)安備 33010602011771號