Доброго времени суток всем.
Есть некая общая страница доступная всем пользователям с формой и админка. Только что заметил, что стоит гостю ввести несуществующий адрес и меня перекидывает на страницу логина, вместо того что бы выдать ошибку 404. Меня это не очень устраивает. Если пользователь на один символ ошибется в адресе то ему сразу будет продемонстрирован вход в админку. Ролей как таковых нет. Только гость и админ. Все контроллеры наследуются через один общий BehaviorsController в котором прописаны поведения к какому действию и контроллеру может получать доступ пользователь в зависимости от того гость он или админ.
Я правильно понимаю что это происходит именно из-за такого подхода к разделению ролей?
Попадаю на страницу входа вместо 404 ошибки.
- Dominus
- Сообщения: 892
- Зарегистрирован: 2013.03.14, 21:27
- Откуда: Россия, Иваново
- Контактная информация:
Re: Попадаю на страницу входа вместо 404 ошибки.
Смотрите разрешен ли доступ к error для не авторизованных пользователей.
SiteController:
http://www.yiiframework.com/doc-2.0/gui ... ation.html
Код: Выделить всё
$config = [
//...
'components' => [
//...
'errorHandler' => [
'errorAction' => 'site/error',
],
//...
],
//...
]
Код: Выделить всё
public function behaviors()
{
'access' => [
'class' => AccessControl::className(),
'rules' => [
// Для не авторизованных доступно login и error
[
'actions' => ['login', 'error'],
'allow' => true,
'roles' => ['?'],
],
// Всё остальное только для авторизованных
[
'allow' => true,
'roles' => ['@'],
],
],
],
}
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!