【发布时间】:2014-06-25 20:45:59
【问题描述】:
我正在开发一个身份验证系统。 它有两个表
UserRegistration // 用于临时存储用户信息,直到用户验证邮箱
ID
-UserRegistrationID
-FirstName
-LastName
-emailId
-password
-dateTime
-activationCode
AuthenticatedUsers//系统用户
-AuthUserID
-FirstName
-LastName
-emailId
-password
-dateTime
不,我必须提供通过电子邮件恢复密码的选项。我必须向用户发送恢复链接。
恢复链接代码在数据库中的存储位置?我应该为恢复代码创建一个单独的表: 恢复代码
-recoveryID //PK
-AuthUserID //FK
-recoveryCode
-dateTime //as the link is valid only for 24 hours.
请提供您的反馈和建议。 谢谢!
【问题讨论】:
-
简单的答案是“是”
-
例如在 AuthenticatedUsers 表中使用 recoveryCode。通常不需要单独的表,如 UserRegistration 和 Authenticated users。仅使用用户。
-
这个 Q 要求有自以为是的答案,因此它有机会被关闭。尽管如此......另一个选择是在查询路径中编码所有必要的东西并且不使用任何额外的表。当然,路径应该包含一些控制和以防止意外访问其他帐户,并且所有相关部分都应该被混淆。
标签: sql database login password-recovery