Stack Overflow на русском Asked by borzz.one on February 5, 2021
в main layout есть такой код
if (Yii::$app->controller->action->id === 'login') {
/**
* Do not use this code in your template. Remove it.
* Instead, use the code $this->layout = '//main-login'; in your controller.
*/
echo $this->render(
'main-login',
['content' => $content]
);
} else {
....
}
Когда я закрываю доступ к админке не авторизованного пользователя в МОдуле
public function behaviors()
return [
'access' => [
'class' => AccessControl::className(),
'denyCallback' => function($rule, $action)
{
//return Yii::$app->response->redirect(['/admin/login/index']);
throw new yiiwebNotFoundHttpException('Нет доступа');
},
'rules' => [
[
'allow' => true,
'matchCallback' => function($rule, $action)
{
return Yii::$app->user->identity->isAdmin;
}
]
]
]
];
меня автоматические перенаправляют меня на auth/login. Мне бы хотелось чтобы перенаправили если в строке веду http://site.ru/admin перенаправляли на страницу авторизации админа, например: http://site.ru/admin/login. А если это простой пользователь и он хочется авторизоваться перенаправляли его на страницу http://site.ru/auth/login.
как мне добиться такого результата? Шаблон админки AdminLte
Если у вас админка представлена в виде отдельного модуля, то можно в главном классе модуля(обычно это файл Module.php
в корне модуля) задать url
для авторизации при инициализации модуля:
public function init()
{
parent::init();
Yii::$app->user->loginUrl = '/admin/login';
}
То же самое можно добавить в любой контроллер, если нужно отдельно от модуля, или вообще если модули не используются
Answered by pa3py6aka on February 5, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP