识别活动后端登录


Recognize active backend login

我为前端部分和后端部分设置了不同的identityCookie名称和会话名称

我的问题是如何识别活跃后端登录在前端部分?我有两个单独的登录表单,每个部分。

我使用了github中的abhi1693/yii2-user和高级yii2模板。

谢谢。

你应该自己写代码。如果前端&后端位于一个域中,您可以在cookie中存储用户id。如果有特定名称的cookie存在,前端将知道用户有活动的后端登录。

我有关于cookie的有用手册。尝试后端登录后写入。当然你应该在读取之前保护和验证cookie值,因为客户端可以替换它。

$cookie = new Cookie([
    'name' => 'isBackendLogin',
    'value' => 'Yii::$app->security->hashData(Yii::$app->user->id, 'salt'),
    'expire' => time() + 86400 * 365,
]);
'Yii::$app->getResponse()->getCookies()->add($cookie);

在Frontend中你可以检查这个cookie:

$isBackendLoginHash = 'Yii::$app->request->cookies->getValue('isBackendLogin'); 
$isBackendLogin = 'Yii::$app->security->validateData($isBackendLoginHash, 'salt');