ACL ERR_TOO_MANY_REDIRECTS

时间:2013-10-07 18:14:07

标签: php cakephp cakephp-2.3

当我的应用程序中用户访问未经授权的网址时,CakePHP执行重定向过多

我不知道为什么。

我尝试设置参数 unauthorizedRedirect redirectUrl ,但不起作用。

AppController.php

public $components = array(
  'DebugKit.Toolbar',
  'Session',
  'Acl',
  'Auth' => array(
    'unauthorizedRedirect ' => false,
    'loginAction' => array('controller' => 'users', 'action' => 'login'),
    'authenticate' => array(
      'Form' => array(
        'userModel' => 'User',
        'fields' => array('username' => 'nickname', 'password' => 'password_hash')
      ),
    ),
    'authorize' => array(
      'Actions' => array('actionPath' => 'controllers/')
    )
    // 'authError' => 'This error shows up with the user tries to access a part of the website that is protected',
  )
);

2 个答案:

答案 0 :(得分:1)

改变这个     “actionPath”=> “控制器/”

进入这个     “actionPath”=> “控制器/”

我很确定您使用的是区分大小写的操作系统。

设置它的另一件事是“loginRedirect”和“logoutRedirect”语句:此时,如果您登录到users / login操作,您将被一次又一次地重定向到相同的操作。出于测试目的,我建议您将它们都设置为root,只需将其添加到您的代码中:

'loginRedirect' => '/',
'logoutRedirect' => '/'

答案 1 :(得分:0)

首先检查用户/登录操作是否可以向未授权用户显示内容?在用户控制器中使用$ this-> Auth-> allow(array(' login',' logout')。如果您使用Acl和Action授权,请检查anonymus是否有权使用看到这个用户/登录页面。