CakePHP isAuthorized false返回同一页面,而不是重定向到URL

时间:2013-10-02 10:29:17

标签: cakephp authentication cakephp-2.0

我想使用CakePHP的isAuthorized功能,但只要拒绝访问,用户就会返回到他来自的页面。

到目前为止我能找到的最好的是使用authError-> 'You are denied'甚至没有闪现。

我是否必须在return false;功能的isAuthorized行之前手动设置闪烁和重定向?

有没有办法检查它是否被拒绝然后自动执行404?

1 个答案:

答案 0 :(得分:0)

听起来您需要配置Auth->loginRedirect,这样当用户被拒绝时,他们就会被推送到登录页面。 Auth组件将记住用户尝试访问的页面,如果他们登录,则会将其重定向回该页面。

作为参考,本书详细介绍了Auth组件的配置。 http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html

我倾向于使用在AppController::beforeFilter()

中配置Auth的旧方法
public function beforeFilter() {
  $this->Auth->loginRedirect = array('controller' => 'users', 'action' => 'login', 'admin' => false);
}