将登录用户重定向到cakephp中的“您没有权限”错误页面

时间:2011-02-18 08:56:29

标签: cakephp

当用户登录并尝试访问他无权查看的特定操作时,用户将被重定向到“/”(即使您在某些情况下也可以获得循环行为)。 我已经搜索了这个问题的解决方案,但我没有找到任何东西。

我在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'));
    }

}

1 个答案:

答案 0 :(得分:1)

您可以尝试使用

$this->Auth->loginError = "LOGIN ERROR";
$this->Auth->authError = "AUTH ERROR";
* app_controller.php中的

*与echo $session->flash('auth');结合使用 在 default.ctp 视图中。

另一种方法是使用 Auth 组件的isAuthorized方法并根据其结果重定向。