Como redirecionar cada tipo de usuário para uma página diferente quando o acesso é negado?
-
26-12-2019 - |
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.
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