Yii2:为什么身份验证密钥在类用户中?

2022-08-30 13:59:46

正如标题所阐明的,为什么在 Yii2 中引入了身份验证密钥?它的主要用法是什么,它在身份验证中如何有用?


答案 1

主要用途是通过 cookie 对用户进行身份验证。当您选择在登录时被记住时,这就是您被记住的方式。系统必须以某种方式识别并登录您。它可以将您的用户名和密码保存在cookie中(这将是不安全的),也可以通过其他方式记住您。这是手段之一。登录 Yii 应用程序后,查看它创建的_identity cookie,您将看到auth_key是 cookie 的一部分。

Cookie实际上记住$id$authKey和$duration,id\auth_key组合比用户名/密码组合更安全。


答案 2

如前所述,您只需要实现并且您的应用程序使用基于cookie的登录功能。在这种情况下,您可以使用以下代码为每个用户生成一个密钥,并将其存储在用户表中:getAuthKey()validateAuthKey()auth

更多细节可以在官方文档中找到:https://www.yiiframework.com/doc/guide/2.0/en/security-authentication


推荐