Здравствуйте!
Столкнулся с очень неприятной проблемой, все найденные решения не помогли.
Создал проект на основе yii2-advanced (работаю пока в backend), добавил пару модулей (включая пользователей).
При заходе не авторизованного пользователя на страницу модуля, то его перенаправляет на страницу с авторизацией. Все работает нормально, кроме случая, когда заходим на страницу вида: project.dev/random_string. В этом случае показывается страница с ошибкой 404 и со всеми данными доступными авторизованным пользователям.
Т.е. при корректной работе должно сначала перекинуть на страницу с авторизацией, а после на выбранную страницу с ошибкой.
Я понимаю, что проблема где-то в конфигах. Т.е. access control для site и модулей работает как указано, но если обращаться к несуществующему модулю, то возникает эта проблема.
Код из backend\SiteController
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'actions' => ['login', 'error'],
'allow' => true,
],
[
'actions' => ['logout', 'index'],
'allow' => true,
'roles' => ['@'],
],
],
],
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'logout' => ['post'],
],
],
];
}
Часть конфига из backend\main.php
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'login' => 'site/login',
'' => 'site/index'
],
],
Заранее спасибо.