2
へのリダイレクトではなくエラーを返します。私の動作では、actionList
は認証されたユーザーのみが閲覧できます。 actionList
で
$behaviors [ 'access' ] = [
'class' => AccessControl::className(),
'rules' => [
[
'actions' => [ 'list' ],
'allow' => ['@'],
]
],
];
私はuser_id
を取得しています:
public function actionList() {
$user_id = \Yii::$app->user->identity->id;
return $this->render('list');
}
すべて良いが、ログインしていないときは、このアクションに行けば、エラーが発生します:
PHP Notice – yii\base\ErrorException
Trying to get property of non-object
私はユーザーIDを持っていないので、私はログインしていないが、コードはそれほど遠くに行くのだろうか? $user_id = \Yii::$app->user->identity->id;
をコメントアウトすると、予想される動作であるログインページにリダイレクトされます。私は誰かがアクション自体にログインしているかどうかを確認するためにもう一度チェックをしなければならないと思いません。あらかじめbehaviours['access']
で処理してはいけませんか?