我想从用户表(数据库)
添加costum会话和会话值查询我放Yii::$app->session->set('blabla','1234')
?
如果我输入登录控制器并且用户设置了自动登录(不是访问登录),则会话无法设置
答案 0 :(得分:3)
在app\components\User
组件中,您可以挂钩afterLogin
事件
示例:
namespace \app\components;
Class User extends \yii\web\User{
public function afterLogin($identity, $cookieBased, $duration){
parent::afterLogin($identity, $cookieBased, $duration);
Yii::$app->session->set('blabla','1234')
}
}
ref http://www.yiiframework.com/doc-2.0/yii-web-user.html#afterLogin()-detail
答案 1 :(得分:0)
在你的 config/main.php 或 web/main.php 中加上 'on afterLogin'
'components' => [
...
'user' => [
...
'on afterLogin' => function($event) {
if($userId = Yii::$app->session->get('__id')){
$user = User::findOne($userId);
Yii::$app->session->set('username', $user->username);
Yii::$app->session->set('name', $user->name);
...
}
}
],