@Igorrebega

Yii2: как в defaultRoute задать модуль?

нужно что бы по умолчанию открывалась страница с авторизацией.
Если написать defaultRoute = 'user/login'
(user - модуль) - то ошибка:

Unable to resolve the request "".


Но если site/index например прописать то все нормально.
  • Вопрос задан
  • 6861 просмотр
Решения вопроса 2
gephaest
@gephaest
PHP, Yii2, Laravel
$config = [
  // ...
  'defaultRoute' => '/модуль/контроллер_модуля/нужный_action',
  // ...
];
Ответ написан
user - модуль
login - контроллер
а где экшн?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Вообще, если не ошибаюсь, то это разруливается фильтрами контроллеров. В site/index ставите
public function behaviors() {
        return [
                 'access' => [
                'class' => AccessControl::className(),
                'rules' => [
                    [
                        'allow' => true,
                        'actions' => ['index', какие-то еще методы],
                        'roles' => [ '@']
                    ],
                    [
                        'allow' => true,
                        'actions' => ['index'],
                        'roles' => ['@']
                    ],
                    [
                        'allow' => false
                    ]
                ]
            ]
        ];
    }

Ну и в каждом контроллере, который должен быть для зарегистрированных иначе по прямой ссылке все равно будет все доступно. Или я не так понял задачу?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы