当用户登录并尝试访问他无权查看的特定操作时,用户将被重定向到“/”(即使您在某些情况下也可以获得循环行为)。 我已经搜索了这个问题的解决方案,但我没有找到任何东西。
我在app_controller.php中写了一些行来将登录用户重定向到错误页面(“你没有访问权限......”)但是我不确定我是否搞乱了代码。
你可以告诉我吗?谢谢。在app_controller.php中:
var $components = array('Auth');
function beforeFilter() {
$allowedActions = array_map('strtolower', $this->Auth->allowedActions);
if (!($this->Auth->allowedActions == array('*') || in_array($this->action, $allowedActions))) {
$_SERVER['HTTP_REFERER'] = Router::url(array('controller' => 'page', 'action' => 'error'));
}
}
答案 0 :(得分:1)
您可以尝试使用
$this->Auth->loginError = "LOGIN ERROR";
$this->Auth->authError = "AUTH ERROR";
* app_controller.php中的 *与echo $session->flash('auth');
结合使用
在 default.ctp 视图中。
另一种方法是使用 Auth 组件的isAuthorized
方法并根据其结果重定向。