2016-05-30 41 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

相關問題