истечение сеанса идентификации yii2 - PullRequest
2 голосов
/ 18 марта 2020

Я новичок в среде yii2 и столкнулся с проблемой идентификации. по истечении времени ожидания сеанса или когда я изменяю свой статус пользователя на неактивный, я получаю сообщение об ошибке Попытка получить свойство не-объекта от пользовательского компонента.

public function getName()
{
    return \Yii::$app->user->identity->username;
}

, так как я получаю это значение в заголовке веб-сайта, я хочу перенаправить на страницу входа вместо отображения этой ошибки

Ответы [ 2 ]

1 голос
/ 18 марта 2020

Рекомендуется использовать Фильтры контроля доступа в вашем контроллере. Пожалуйста, обратитесь к этой ссылке , чтобы получить представление о том, как реализовать авторизацию в ваших контроллерах.

0 голосов
/ 11 апреля 2020

В файле контроллера вы должны указать:

if (\Yii::$app->user->isGuest) {
   return $this->redirect(["site/login"]);
}

Это потому, что «личность» установлена ​​только для пользователей, которые вошли в систему. Таким образом, вы не можете получить доступ к личности, потому что он гость ..

https://www.yiiframework.com/doc/api/2.0/yii-web-user# $ isGuest-detail

...