识别活动后端登录

时间:2015-09-15 17:05:58

标签: php session yii2

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

我的问题是如何识别前端部分中的活动后端登录?对于我的部分,我有两个单独的登录表单。

我使用了github的abhi1693 / yii2-user和advnaced yii2模板。

感谢。

1 个答案:

答案 0 :(得分:0)

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

Yii2 have useful manual about cookie。在后端登录后尝试写入。当然你应该protect,并在阅读之前验证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);
在前端

你可以查看这个cookie:

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