当我的应用程序中用户访问未经授权的网址时,CakePHP执行重定向过多。
我不知道为什么。
我尝试设置参数 unauthorizedRedirect 和 redirectUrl ,但不起作用。
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',
)
);
答案 0 :(得分:1)
改变这个 “actionPath”=> “控制器/”
进入这个 “actionPath”=> “控制器/”我很确定您使用的是区分大小写的操作系统。
设置它的另一件事是“loginRedirect”和“logoutRedirect”语句:此时,如果您登录到users / login操作,您将被一次又一次地重定向到相同的操作。出于测试目的,我建议您将它们都设置为root,只需将其添加到您的代码中:
'loginRedirect' => '/',
'logoutRedirect' => '/'
答案 1 :(得分:0)
首先检查用户/登录操作是否可以向未授权用户显示内容?在用户控制器中使用$ this-> Auth-> allow(array(' login',' logout')。如果您使用Acl和Action授权,请检查anonymus是否有权使用看到这个用户/登录页面。