2017-11-23 5 views
0

私はCakePHP 3.4を使用しています。CakePHP 3で認証が拒否されていません

管理者以外のユーザーにいくつかの操作を制限したいと考えています。

これは私が

public function beforeFilter(Event $event) 
{ 
    if (!$this->Auth->user('super_admin')) { 
     $this->Auth->deny(['index', 'view', 'add', 'delete']); 
    } 
} 

しかし、たとえ非管理者ユーザーが拒否された場所にアクセスすることが可能である私のコントローラにしようとしたものです。私はif文でデバッグを試みましたが、それは動作しています。文が呼び出されていても、deny()は動作していません。

答えて

0

parent::beforeFilter($event);これはapp.phpファイルではない場合がありますか?

それとも、この試みることができる:

if((!$this->Auth->user('super_admin')) && ($this->request->action === 'index')){ 
      //Your redirect and flash 
     } 
+0

を私はのbeforeFilter($イベント):: '親を追加しました;'が、それは動作しません。私はすでに自分のコードでその難しい方法を使っています。 –

+0

@AnujTBEコントローラでAuthComponentを呼び出しましたか? これを最初にデバッグしてみてください: 'debug($ this-> Auth-> user); die(); ' それでは、ここをクリックしてください: https://book.cakephp.org/3.0/en/controllers/components/authentication.html#making-actions-require-authorization –

+0

@AnujTBEとこれはhttps://book.cakephp.org/3.0/en/controllers/components/authentication.html#configuration-options –

関連する問題