2016-07-09 3 views
0

コントローラを持っていますUserAddressesログインしたユーザだけがアドレスの追加/編集/削除を許可されています。CakePHP 3:ログインせずにコントローラ全体へのアクセスを制限する

しかしAppController.php

public function beforeFilter(Event $event) 
{ 
    $this->Auth->allow(['index', 'view', 'display', 'home']); 
} 

www.website.com/user-addresses/が含まれているのですることも、ログインせずにアクセス可能です。 コントローラーuserAddressesのすべての操作を制限したいと思います。

コントローラからどうやったらいいですか?

答えて

3

コントローラーからどうやったらいいですか?例えば

あなたUserAddressesControllerクラスでbeforeFilter()をオーバーライドし、許可されたアクションのリストから可能なエントリを削除することもできます。

public function beforeFilter(Event $event) 
{ 
    parent::beforeFilter($event); 
    $this->Auth->deny(); // deny all actions 
} 

も参照してください。
関連する問題