Size: a a a

2021 April 26

Д

Дмитрий in Yii Framework 2
Ненадо так.
источник

Д

Дмитрий in Yii Framework 2
Поэтому ты не понимаешь как экшн сделать
источник

Д

Дмитрий in Yii Framework 2
Во-вторых ты пытаешься сделать то что уже есть в системе. Контроль доступа. Просто организуй права так чтоб к нужным экшенам имел доступ определенный юзер на базе ролей
источник

V

Victooor in Yii Framework 2
Мммм, код скринами, всё как в лучших домах ландОна и парижа 🙂
источник

BI

B I in Yii Framework 2
Да это долго писать. Я хотел отделаться минимальными затратами.
источник

Д

Дмитрий in Yii Framework 2
Это вообще не нужно писать
источник

Д

Дмитрий in Yii Framework 2
Все за тебя написано
источник

V

Victooor in Yii Framework 2
На ошибку тебе указали, а в чем скрытый смысл Yii::$app->params['admin']?
источник

Д

Дмитрий in Yii Framework 2
Там видимо айди админа )
источник

BI

B I in Yii Framework 2
Да
источник

Д

Дмитрий in Yii Framework 2
"Минимальные затраты" же
источник

V

Victooor in Yii Framework 2
Но он же не сохраняется между запросами 😐
источник

BI

B I in Yii Framework 2
Он в базе
источник

Д

Дмитрий in Yii Framework 2
Почему? Парамс же с конфига
источник

V

Victooor in Yii Framework 2
Аа. Я уже отвык от такой жести
источник

Д

Дмитрий in Yii Framework 2
Смотри..
источник

V

Victooor in Yii Framework 2
Вообще, по нормальному, флаг isAdmin сохраняется в сессии, и записывается туда 1 раз, при успешном логине юзера...
источник

BI

B I in Yii Framework 2
Я еще не во все тонкости вник, и не все знаю ньюансы. Мало опыта очень.
источник

Д

Дмитрий in Yii Framework 2
поиграю в дядю боба.
тебе, я так понял, нужно проверить в экшене, админ ли юзер.
если нет - установить флеш, редиректнуть домой.
если да - продолжить выполнение.
это 3 разных ф-и.
то-есть пиши ф-ю isAdmin(): bool
setDeniedAccessFlash(): void
в экшене пиши :
if (!isAdmin()) { 
   setDeniedAccessFlash();
   return $this->goHome();
}
.....
что-то делаешь
источник

DK

Dmitry Kalinin in Yii Framework 2
@Ibaranov_ru сделай уже return $this->test();
а еще лучше перепиши целиком, то что есть это два костыля скрученных колючкой.
источник