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