在我的应用程序中,我有3个用户角色(用户,管理员,非登录用户),并且我希望在访问被拒绝时将它们重定向到不同的页面。怎么做?
及时,$ this-> Auth-> authorize = array('Controller');手段?我在蛋糕文档中没有理解这一点。
谢谢大家。
答案 0 :(得分:1)
我会在IF语句中使用它,但也许其他人可以建议更多CakePHP特定的方法..
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');
表示授权在Controller级别完成。我相信你可以改变使用它进行授权的地方。