创建空Web应用程序项目
安装示例项目:安装,包装Microsoft.AspNet.Identity.Samples - 预
启动应用程序并注册一个新用户。
前往登录页面点击“忘记密码”。然后添加最近注册的用户电子邮件。
然后,您将能够调试应用程序,检查“忘记密码”过程。
密码找回不光设计到Servlet。代码的话就太多了,当用户请求找回密码时,生成一个随机字符串作为密码,然后把该用户在数据库中的密码用这个随机字符串替换,再把这个新密码以邮件的形式,或其他形式发送给用户。
因为找回密码肯定不是把用户原来的密码发给他,数据库中保存的密码一般都是经过MD5加密过后的密码,不可能再还原出来。所以是生成一个新的密码给他,然后再提示他去修改。
补充:
楼上朋友,怎么可能把原始密码再返回给他,难道你存到数据库中的密码是不经过加密的吗?那数据库一旦泄露,所有用户的信息就都会丢失。
楼主问的是一个流程的问题,而不是实现,实现的方式太多,但是流程一般都是这样,流程还是和我上面说的一样:
用户请求找回密码->让用户填入密码问题的答案(密码问题是在注册的时候就需要让用户填写的)->去数据库中对比密码问题的答案是否正确->如果正确则生成一段随机数作为新密码替换用户的旧密码->将这个新密码用邮件发送给用户(邮箱是用户注册时就让用户填写的,邮箱的目的就是为了找回密码)->用户用新密码登陆,然后再把这个随机数密码修改为自己的密码->这样就完成了找回密码这个流程
注意:密码存入到数据库不是明文,而是经过不可逆加密后的密码,这样就算数据库的密码泄露,别人也不能通过这些经过不可能加密后的密码推算出原始密码,一般不可逆加密简单一点的就是MD5
写了这么多,分给我吧,哈哈
先定位到指定的记录,修改密码,再保存,举例如下:User user = db.Users.Find(id)
user.Password="123456"//将口令重置为初始口令“123456”
db.SaveChanges()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)