Como redirecionar cada tipo de usuário para uma página diferente quando o acesso é negado?

StackOverflow https://stackoverflow.com//questions/24059455

Pergunta

Na minha aplicação eu tenho 3 papéis de Usuários (user, admin, não o usuário que está logado), e eu quero redirecioná-los para páginas diferentes quando o acesso é negado.Como fazer isso?

Em tempo, o que o $this->Auth->autorizar a = array('Controller');significa?Eu não entendi isso no bolo docs.

Obrigado a todos.

Foi útil?

Solução

Eu gostaria de tê-lo em uma instrução IF, mas, talvez, alguém pode sugerir um mais CakePHP método específico..

if($user === 'Admin') {
   //Admin Redirect
   $redirectController = 'admin';
   $redirectMethod = 'admin_index';
} elseif ($user === 'User') {
   //User Redirect
   $redirectController = 'user';
   $redirectMethod = 'index';
} else {
  //Not logged in
  $redirectController = 'SomeController';
  $redirectMethod = 'someMethod';
}

$this->Auth->unauthorizedRedirect = array(
        'controller' => $redirectController,
        'action' => $redirectMethod 
    );

$this->Auth->authorize = array('Controller'); significa que a Autorização é feita no nível do Controlador.Eu acredito que você pode alterar o local onde a autorização é realizada usando isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top