我已经搜索过了,虽然人们在这个网站和其他地方问过类似的问题(如果不是完全相同的问题),但其中几个问题没有得到解答,其余的根本不适用于我(不同的错误、旧的蛋糕版本等) )。
我在 core.php 中设置了两个路由前缀。这些是“管理员”和“中等”。我希望所有用户通过 /users/login
登录,然后重定向到 /account
。
当我转到需要身份验证的标准(无前缀)页面(例如 /account
)时,我会被重定向到 /admin/users/login
(我不需要前缀)。
登录后,我成功重定向到 /account
。 (至少那部分正在工作)
这是我的 AppController 代码
public $components = array('Session',
'Auth' => array(
'loginAction' => array('prefix' => false, 'admin' => false, 'moderate' => false, 'controller' => 'users', 'action' => 'login'),
'loginRedirect' => array('prefix' => false, 'admin' => false, 'moderate' => false, 'controller' => 'account', 'action' => 'index'),
'logoutRedirect' => array('controller' => 'index', 'prefix' => false, 'admin' => false, 'moderate' => false),
'authError' => "You can't access that page",
'authorize' => array('Controller')
)
); // components
我还尝试将所有“false”更改为“null”。没有骰子。我正在使用 CakePHP 2.2.4
截至 2014 年 2 月 11 日编辑 因为人们仍在回答,我只是想指出这个问题已解决。我从来没有弄清楚确切的问题是什么,所以我从未发布官方/接受的答案。我怀疑是我的路由问题。我上面提供的AppController代码是正确的。
最佳答案
尝试使用这个:
$this->Auth->loginAction = '/users/login';
希望有帮助!
关于cakephp - 多个路由前缀+登录操作不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16472126/