首先,我们假定你已经有了一个用户注册系统。其中用户表可能如下:
create table member(
id int unsigned not null auto_incremtnt,
username………………
passwords char(32) not null,
email varchar(100) not null,
……………………………..
);
现在讨论的焦点不是数据库设计,我们主要谈密码找回。
我们可以选择的密码找回方案可能有以下几种:
1. 用户预设找回密码问题,并且提供找回密码答案。
2. 用户通过email 找回密码
..........................
第一种方案或许是个很好的解决方案,但我们这次并不选择此方案,其中的种种原因,也不在本讨论之内。我们用第二种方案作为本次的主要讨论对象。
那么我们开始吧。
第二种方案的其中好处是:
1. 注册用户必须提供正确的邮箱,否则将不能使用系统所提供的密码重设功能。
2. 必须由该用户通过邮箱确认。
这可能对企业来说,是件好事。企业总是费劲心思的想得到用户真实的详细信息,以便进行有针对性的邮件列表服务。这也是这次开发用户要求这样做的一个主要原因。
我们可能会在login界面提供一个链接,或者在login失败后提供一个链接。链接名当然你可以自己定义了,我定义的是:忘了密码,需要找回吗?