密码邮箱验证

/// <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();//重置为新密码
          
            //生成一个简单的随机的新密码
            //一种思路是用生成验证码的随机数算法
            //或者也可以使用取巧的办法,就是取Guid的后六位
            string guid = Guid.NewGuid().ToString();
            string newSimplePwd = guid.Substring(guid.Length - 6);
            user.ChangePassword(newPwd, newSimplePwd); //把ResetPassword返回的复杂的密码改成新密码

            CommonHelper.SendEmail(user.Email,
                "您在xx网的新密码", "。。新密码是:" + newSimplePwd);
            return ResetPasswordStatus.Success;
        }

转载于:https://www.cnblogs.com/elephant-wp/archive/2011/12/09/2282460.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值