【发布时间】:2014-11-27 19:44:19
【问题描述】:
正如标题所阐明的,为什么在 Yii2 中引入了 auth 密钥?它的主要用途是什么?它在身份验证中有何用处?
【问题讨论】:
正如标题所阐明的,为什么在 Yii2 中引入了 auth 密钥?它的主要用途是什么?它在身份验证中有何用处?
【问题讨论】:
主要用途是通过cookie对用户进行身份验证。当您选择在登录时被记住时,这就是您被记住的方式。系统必须以某种方式识别并登录您。它可以将您的用户名和密码保存在 cookie 中(这将是不安全的),也可以通过其他方式记住您。这是手段之一。登录到 Yii 应用程序后,查看它创建的 _identity cookie,您会看到 auth_key 是 cookie 的一部分。
cookie 实际上会记住 $id、$authKey 和 $duration,id\auth_key 组合比用户名/密码组合更安全。
【讨论】:
如前所述,如果您的应用程序使用基于 cookie 的登录功能,您只需要实现 getAuthKey() 和 validateAuthKey()。在这种情况下,您可以使用以下代码为每个用户生成一个auth 密钥并将其存储在用户表中:
更多细节可以在官方文档中找到: https://www.yiiframework.com/doc/guide/2.0/en/security-authentication
【讨论】: