【发布时间】:2013-12-16 10:24:21
【问题描述】:
我正在尝试使用 CakePHP 实现 Remember me 功能。
实际上我正在使用 CakePHP Auth 作为身份验证方法。
我们可以将密码保存在 cookie 中吗??
哪种方法更好?
【问题讨论】:
我正在尝试使用 CakePHP 实现 Remember me 功能。
实际上我正在使用 CakePHP Auth 作为身份验证方法。
我们可以将密码保存在 cookie 中吗??
哪种方法更好?
【问题讨论】:
永远不要将密码保存在 cookie 中,即使它们已加密。
要遵循的策略是这样的:
在您的用户表中创建一个新字段来存储令牌。
用户登录后,您检查他们是否点击了“记住我”。
如果他们想被记住,那么你生成一个随机哈希作为令牌并将其保存到数据库和 cookie(这比保存实际密码要好得多)。
现在,下次他们要登录时,首先要做的是检查您的登录 cookie 是否存在,如果存在,则将该 cookie 与您数据库中的值进行比较,如果它们一致,则您登录用户并在您生成新令牌后立即将新令牌保存在数据库和 cookie 中。
【讨论】:
检查此即用型解决方案AutoLoginComponent 和docs。
【讨论】: