Yii 2 проверка на авторизированного пользователя его id

119
20 ноября 2020, 10:50

Нужен совет правильно я сделал проверку в layouts.php

if(empty(Yii::$app->user->identity->id)):
    return Yii::$app->response->redirect(['site/login']);
endif;
$validate = new SignupForm();
if(Yii::$app->user->isGuest) {
    return Yii::$app->response->redirect(['site/login']);
} elseif(empty($validate->validates())) {
    return Yii::$app->response->redirect(['site/login']);
}

или это нужно делать в другом мести ? у меня по id пользователя выводиться информация которая должен видеть конкретный пользователь.

Answer 1

у меня по id пользователя выводиться информация которая должен видеть конкретный пользователь.

Для этих целей в Yii 2 есть механизм ролей и прав доступа. С его использованием всё сводится к использованию метода can (почитать можно здесь и здесь).

Если определяется разграничение просто между зарегистрированными и незарегистрированными пользователями, то тогда следует использовать метод isGuest.

Неправильно:

if(empty(Yii::$app->user->identity->id)) {
    // Делаем что-то
}

Правильно:

if(Yii::$app->user->isGuest) {
    // Делаем что-то
}
READ ALSO
как решить проблему с saveHTML()?

как решить проблему с saveHTML()?

Использую saveHTML() для сохранения данных в файл, но данная функция перестраивает структуру кодаБыло так:

133
Проблема при разворачивании битрикса

Проблема при разворачивании битрикса

Сайт работал в кодировке UTF-8Конфигурация сервера не соответствует требованиям

188
Вызов метода внутри конструктора

Вызов метода внутри конструктора

У меня есть вот такой код

137
нагрузочный тест на java

нагрузочный тест на java

Есть сервер, есть тестовый клиентКлиент посылает один запрос и получает один ответ

134