怎么设计忘记密码功能比较好呢?
比如 我的流程是这样的
1、输入账号
2、选择验证方式
3、发送邮件或者手机验证码
4、修改密码
5、修改密码成功
但是如何拦截用户跳过前几步,直接跳到第4步呢?
求指导

------解决方案--------------------
第一、二、三步的信息保存到 session 当中,第四步时检查session中的数据是否还在,如果不在就是绕行的,或者太长时间没有操作
------解决方案--------------------
THreadLOcal实现不了吧,难道你这几步全在一个线程中?
------解决方案--------------------
感觉让第三步的时候,生成一个UUID 传到第四步,另外把这个UUID放在session中,第四步的时候,判断session中的和第四步的是否一样或者是空(没有经过第三步),就可以了,这样不仅防止了重复提交,也可以判断是不是经过了 第三步(如果判断的细一点的话,每一步都生成UUID传给下一步,在放进session,到下一步的时候,判断一下),
第四步修改密码用不到 前面前三部的数据,还是不建议把前几步的数据存进session中。。
------解决方案--------------------
你验证成功之后数据库里不记录一下吗,比如改个标识,第四步进行时你必须先去数据库查询一下,这几步肯定是联系起来的啊,修改完之后你再重置一下数据库状态