请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

不是理解为什么,要做这个答案缓存??

//说明问题及问题答案是这个用户的,并且是正确的            

 String forgetToken = UUID.randomUUID().toString();             TokenCache.setKey(TokenCache.TOKEN_PREFIX+username,forgetToken);          

 return ServerResponse.createBySuccess(forgetToken);

正在回答 回答被采纳积分+3

2回答

Queen丶Star 2018-08-01 15:29:36

楼上的回答语句不太通顺哈。。

首先,这里的token 并不是对于密保问题的答案做了缓存,要想理清楚这个。

把这个东西想的实际化一些:

你在密保部门,交出了自己的信息(用户名,密保问题和答案),当你的信息在系统中存在并且能匹配的时候,密保部门确定你是本人操作,会自己造一个令牌,然后他给了你一半,告诉你,“这个令牌,你拿着,到了修改密码部门的时候,给他们看,他们就会给你修改密码了”。然后你屁颠屁颠的跑到修改密码部门,在你去修改密码部门的时候,密保部门就会把另外一半牌子用他们自己的方式(放到系统缓存中),丢给了修改密码部门。当你到了修改密码部门,你说你要修改密码,然后他们叫你把另外一半的令牌交出来,当修改密码部门能从系统缓存中拿到与你匹配的另外一半令牌,凑成了一个完整的令牌,他们就同意了你修改密码的申请了,你就可以修改密码了,懂没?

至于为什么要这个令牌?比如,你去办理的时候,不给你这个令牌,然后你走的是一个不太密封的通道,然后孙悟空变成蚊子飞进来,他知道了你的用户名,这个时候,你看到美女停留了几分钟,他比你先到修改密码的部门,他就可以直接修改你的密码,盗窃你的资金账户了!

为什么要设置缓存时间呢?因为修改密码的部门事情多,如果该你来修改密码,你又去看美女,几天不来,那他就只能拿着你的令牌的另一半,干巴巴的等你,效率就很低了。


简单来说,这个token,就等于你去银行办理业务的时候给你拍得号,只由你拥有这个号的时候,银行才给你办理取钱(等同于系统给你办理修改密码的业务)

12 回复 有任何疑惑可以回复我~
  • 我开始也很迷惑这个问题,看完你的回答,舒坦~
    回复 有任何疑惑可以回复我~ 2018-08-19 21:30:43
polo哦 2018-06-23 13:11:57

这个不是答案的缓存。。是用户忘记密码时验证通过后的一个id缓存,不然你想改密码但是一直不改的话,你再想改肯定是不可以的,肯定有一个时间限制的

0 回复 有任何疑惑可以回复我~
  • 项目里为什么要12小时这么长,有点难理解
    回复 有任何疑惑可以回复我~ 2018-07-19 11:51:44
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信