Cakephp 3 авторизован в контроллере - PullRequest
0 голосов
/ 14 декабря 2018

В контроллере я пытаюсь дать метод доступа «отчет», где user_type = 3.Я попробовал ниже код.Но пользователь 3 все еще не может получить доступ в методе отчета.

Мой проверенный код:

 public function isAuthorized( $user )
 {
      if ( $user['user_type'] == 2 ) {
           return true;
      }elseif($user['user_type'] == 3){
           $this->Auth->allow(['report']);
      }else
      return false;
 }

Как я могу дать метод отчета о доступе для user_type=3

1 Ответ

0 голосов
/ 14 декабря 2018

К моменту вызова isAuthorized список allow уже проверен.Вы можете использовать

if ($user['user_type'] == 3 && $this->action == 'report')

Или еще где-то раньше (например, beforeFilter), каким-то образом (детали будут очень сильно зависеть от приложения) получить пользователя и выполнить

if ($user['user_type'] == 3) {
    $this->Auth->allow(['report']);
}
...