2016-05-30 39 views
0

你好我有两个登录系统在我的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' => ['@'] 
       ] 
      ] 
     ] 
    ]; 
} 

谁能告诉我如何更改访问控制网址。提前致谢!

回答

0

试试看看这个代码。 注意:角色

[ 
    'actions' => ['home'], 
    'allow' => true, 
    'roles' => ['?'] 
    'matchCallback' => function ($rule, $action) { 
     return $this->redirect('index.php?r=controller/action'); 
    } 
] 
3

您应该简单地配置您的用户组件:

'user' => [ 
    // ... 
    'loginUrl' => ['custom-controller/login'], 
], 

了解更多关于yii\web\User::$loginUrl

它应该是:

[ 
    'actions' => ['login'], 
    'allow' => true, 
    'roles' => ['?'] 
], 

了解更多关于Authorization in Yii2

相关问题