Попадаю на страницу входа вместо 404 ошибки.

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Velsi
Сообщения: 1
Зарегистрирован: 2017.10.14, 14:50

Попадаю на страницу входа вместо 404 ошибки.

Сообщение Velsi »

Доброго времени суток всем.
Есть некая общая страница доступная всем пользователям с формой и админка. Только что заметил, что стоит гостю ввести несуществующий адрес и меня перекидывает на страницу логина, вместо того что бы выдать ошибку 404. Меня это не очень устраивает. Если пользователь на один символ ошибется в адресе то ему сразу будет продемонстрирован вход в админку. Ролей как таковых нет. Только гость и админ. Все контроллеры наследуются через один общий BehaviorsController в котором прописаны поведения к какому действию и контроллеру может получать доступ пользователь в зависимости от того гость он или админ.
Я правильно понимаю что это происходит именно из-за такого подхода к разделению ролей?
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Попадаю на страницу входа вместо 404 ошибки.

Сообщение Dominus »

Смотрите разрешен ли доступ к error для не авторизованных пользователей.

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

$config = [
 //...
    'components' => [
        //...
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
        //...
    ],
 //...
]
SiteController:

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

public function behaviors() 
{
    'access' => [
        'class' => AccessControl::className(),
        'rules' => [
            // Для не авторизованных доступно login и error
            [
                'actions' => ['login', 'error'],                
                'allow' => true,
                'roles' => ['?'],
            ],
            // Всё остальное только для авторизованных
            [
                'allow' => true,
                'roles' => ['@'],
            ],
         ],
    ],
}
http://www.yiiframework.com/doc-2.0/gui ... ation.html
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Ответить