2017-03-19 1 views
0

2つのコントローラにいくつかのアクションがあり、2つのコントローラのアクションが無効なリクエストページにルーティングされることを期待しています。Yii 2無効なリクエストページへのすべてのリクエストのルーティング特定のアクションが必要です

と仮定します。

controller1 =>アクション1、アクション2、action3許さ

コントローラ2 => action4、action5、action6

許さ他のすべての要求は、不正な要求のページに移動する必要があります。

ありがとうございます。

+0

[MCVE](http://www.stackoverflow.com/help/mcve)をご覧ください。 – Feathercrown

答えて

2

gmcとして、しかし、あなたは、「不正な要求」ページを指定することもできます。

public function behaviors() 
{ 
    return [ 
     'access' => [ 
      'class' => AccessControl::className(), 
      'only' => ['action1', 'action2', 'action3'], 
      'rules' => [ 
       [ 
        'allow' => true, 
       ], 
      ], 
      'denyCallback' => function($rule, $action) { 
       return $this->redirect(['controller/action']); 
      } 
     ], 
    ]; 
} 
3

Access Controlを使用してください。コントローラ1のために:あなたはAccess Controlを使用するように指定し

public function behaviors() 
{ 
    return [ 
     'access' => [ 
      'class' => \yii\filters\AccessControl::className(), 
      'only' => ['action1', 'action2', 'action3'], 
      'rules' => [ 
       [ 
        'allow' => true, 
       ], 
       // everything else is denied 
      ], 
     ], 
    ]; 
} 
関連する問題