在 Yii 1 中,我在 API 控制器中使用了以下代码来设置活动用户:
Yii::$app->user->id = $my_userid;
Run Code Online (Sandbox Code Playgroud)
但在 Yii2 中,这是不允许的,因为 Yii::$app->user->id 现在是只读的。
设置活动用户 ID 的等效命令是什么?
您需要使用API 的setIdentity()方法:
use Yii;
...
Yii::$app->user->setIdentity($user)
Run Code Online (Sandbox Code Playgroud)
setIdentity():更改用户身份而不触及会话或cookie。这最适合用于无状态 RESTful API 实现。
其中$user应该是User模型的有效实例。
如果您需要更改现有用户,请使用switchIdentity()方法:
use Yii;
...
Yii::$app->user->switchIdentity($user)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1959 次 |
| 最近记录: |