论坛首页 Java企业应用论坛

邮箱找回密码

浏览 17577 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-04-07  
tryto21 写道
paohui01 写道
二十一 写道
如果用户要找回密码,那他应该会在较短的时间内来完成此事。所以生成一个有时间限制的url保存在cache里来比对比较合适

前面提到过,我这生产环境是集群环境,使用缓存不行。。。最开始我也是这个思路

你的缓存不支持集群吗?


恩 不支持。。。。。。
0 请登录后投票
   发表时间:2010-04-07  
没太清楚。
我的构想如下:
使用uuid随机生成一个key,然后把记录保存下来,包括过期时间之类的,统统存到数据库中。

用户点击链接的时候,就用这个key去匹配就行了。至于URL中还要存几个参数,那就随你了。

其实数据库中只要一条数据就行了,用userid进行匹配
1 请登录后投票
   发表时间:2010-04-07  
为什么不直接把密码发到他用户的邮箱呢?
0 请登录后投票
   发表时间:2010-04-08  
mathfox 写道
为什么不直接把密码发到他用户的邮箱呢?


我也觉得直接发密码来得简单。
0 请登录后投票
   发表时间:2010-04-08   最后修改:2010-04-08
giginet 写道
没太清楚。
我的构想如下:
使用uuid随机生成一个key,然后把记录保存下来,包括过期时间之类的,统统存到数据库中。

用户点击链接的时候,就用这个key去匹配就行了。至于URL中还要存几个参数,那就随你了。

其实数据库中只要一条数据就行了,用userid进行匹配

以前实现过此功能,思路和这个类似。
随便搞一长串的随机字符auth_key,有意义也好,没意义也好,总之要看(研究)不出来是啥,全局唯一(组合使用uuid、时间、机器特征、随机数等)。
然后在db里有张表,用uid和这个auth_key关联,同时可以有过期时间的字段。
同一个uid,只有一条记录。
甚至可以有一个单独的程序(线程、进程)去扫描此表,过期的记录就删掉。

给用户的url里带回那个auth_key,到db里查查有没有记录,过没过期,然后就可以让用户修改密码了。
0 请登录后投票
   发表时间:2010-04-08  
找回密码就算了,给他重置密码吧。密码应该都经过单向加过密的吧?
0 请登录后投票
   发表时间:2010-04-08  
可以改下修改密码的流程,不一定非得生成和解析URL。URL可以是个能否修改密码的锁。用户点击下邮箱里的URL,下次登录系统就提示他必须修改密码。修改一次后。该URL失效。可以删掉该URL。这样就不存在过期时间、集群和key的问题。
0 请登录后投票
   发表时间:2010-04-08  
xkorey 写道
可以改下修改密码的流程,不一定非得生成和解析URL。URL可以是个能否修改密码的锁。用户点击下邮箱里的URL,下次登录系统就提示他必须修改密码。修改一次后。该URL失效。可以删掉该URL。这样就不存在过期时间、集群和key的问题。

当你忘记密码之后,请问你如何登陆呢
0 请登录后投票
   发表时间:2010-04-08  
密码要找回,这个就不能使用MD5了,你根本不能回逆。
只能让他重置一个密码。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics