如何更改yii2中的访问控制器重定向/登录url?
问题描述:
你好我有两个登录系统在我的yii2应用程序一个是默认登录系统使用用户表和第二个是sms_account表。在自定义控制器中,我创建了登录操作,actionLogin()。我为我的自定义控制器添加了访问控制。我有问题,当一个人没有登录它的问题重定向到网站/登录我想改变重定向到自定义控制器/登录 url在yii2访问控制。我的代码是:如何更改yii2中的访问控制器重定向/登录url?
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
],
],
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'actions' => ['login'],
'allow' => false,
'roles' => ['@']
],
[
'actions' => ['home'],
'allow' => true,
'roles' => ['@']
]
]
]
];
}
谁能告诉我如何更改访问控制网址。提前致谢!
答
试试看看这个代码。 注意:角色
[
'actions' => ['home'],
'allow' => true,
'roles' => ['?']
'matchCallback' => function ($rule, $action) {
return $this->redirect('index.php?r=controller/action');
}
]
答
您应该简单地配置您的用户组件:
'user' => [
// ...
'loginUrl' => ['custom-controller/login'],
],
了解更多关于yii\web\User::$loginUrl
。
它应该是:
[
'actions' => ['login'],
'allow' => true,
'roles' => ['?']
],
了解更多关于Authorization in Yii2。