Yii::$app->user->identity 添加自定义字段怎么加 [ 2.0 版本 ]
Yii::$app->user->identity->aaa
Yii::$app->user->identity->bbb
有几个变量想放在identity里面,
只查到替换,没查到增加,
Yii::$app->getUser()->identity['company_id'] = $company_id;
我也尝试在模型 user 里面添加成员变量 aaa
bbb
,并在 findIdentity
函数里面赋值
public static function findIdentity($id)
{
this->aaa = 10000;
}
也没成功
最佳答案
-
identity 持有的是 main.php 中配置的 user 的 identityClass的实例对象,如果要给其赋予自定义字段,就需要在对应的 identityClass 的类上加。
如:
'user' => [ 'identityClass' => backend\models\User::className(), ], // ------------------------------------------------------ namespace backend\models; class User implements IdentityInterface { public $prop1; public $prop2; } // ------------------------------------------------------ // 然后才可以 \Yii::$app->user->identity->prop1=$prop1; \Yii::$app->user->identity->prop2=$prop2;
共 1 条回复
其他 2 个回答
-
配置里这一段熟悉吗?
'components' => [ 'user' => [ 'identityClass' => backend\models\User::className(), 'enableAutoLogin' => false, 'identityCookie' => ['name' => '_backend_identity'], 'idParam' => '__backend__id', 'returnUrlParam' => '_backend_returnUrl', ], …… ]
然后
$user = \Yii::$app->user->identity;
User里有什么属性你就可以用什么了~
共 2 条回复 -
yzg91
注册时间:2018-11-15
最后登录:2022-05-10
在线时长:22小时13分
最后登录:2022-05-10
在线时长:22小时13分
- 粉丝2
- 金钱479
- 威望20
- 积分899