Этап аутентификации

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
sprntl
Сообщения: 7
Зарегистрирован: 2021.10.06, 11:23

Этап аутентификации

Сообщение sprntl »

Привет.
Подскажите, пожалуйста. Прохожу аутентификацию успешно

Код: Выделить всё

	$validate_user=Employee::findIdentity($user);
        $validate_user_by_pass=Employee::findIdentityByAccessToken($pass);
        if ($validate_user['Login']==$validate_user_by_pass['Login']) \Yii::$app->user->login($validate_user,3600);
        return \Yii::$app->runAction('devices/show');
Но когда пытаюсь напрямую выполнить метод show

Код: Выделить всё

return $this->render('show');
в представлении прописано

Код: Выделить всё

<?php echo Html::tag('div',\Yii::$app->user->identity['Fullname']) ?>
то получаю ошибку: Trying to access array offset on value of type null, словно \Yii::$app->user->identity['Fullname'] пустое, хотя метод логин срабатывает. Подскажите что я упускаю.
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Этап аутентификации

Сообщение SiZE »

https://www.yiiframework.com/doc/api/2. ... ity-detail

null is returned if the user is not logged in (not authenticated).
sprntl
Сообщения: 7
Зарегистрирован: 2021.10.06, 11:23

Re: Этап аутентификации

Сообщение sprntl »

Спасибо.
Ещё хотел уточнить: правильно ли в каждом методе контроллера проверять PHPSESSID и применять команду \Yii::$app->user->login($identity, 3600), чтобы аутентифицировать пользователя и затем рендерить представление?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Этап аутентификации

Сообщение samdark »

Нет.
sprntl
Сообщения: 7
Зарегистрирован: 2021.10.06, 11:23

Re: Этап аутентификации

Сообщение sprntl »

Оставлю здесь, вдруг забуду. Помимо реализованных функций неободимо реализовать getID() интерфейса InterfaceIdentity, это есть логин пользователя. Если поле в таблице имеет другое имя, например, username/login, то функция возвращает $this->username. Это функция используется в методе login()
Ответить