在CakePHP中使用Auth和admin前缀时出现奇怪的重定向问题

Ben*_*son 3 authentication redirect cakephp

admin对于一些管理员视图,我在Cakephp应用程序中使用前缀.我也使用Auth根据roleUser表中的字段限制对这些视图的访问.很标准.

问题是,当未经授权的用户试图去,比如说admin/users(在这种情况下禁止索引操作)时,它们被重定向到/admin/users/login当然不存在的状态.

对于没有admin前缀的操作,不会发生这种情况.那些表现得很好.

为什么用户被发送到管理前缀和禁止操作前面的登录?

小智 7

任何仍然遇到此问题的人,根据文档,您可以在loginAction(文档)中使用数组或字符串.

使用数组并设置'admin'=> false仍然给我带来麻烦,所以我尝试使用字符串代替:

public $components = array(
    'Auth' => array(
        'loginRedirect'  => array('controller' => 'dashboards', 'action' => 'home'),
        'logoutRedirect' => array('controller' => 'users', 'action' => 'login'),
        'loginAction'    => '/users/login',
        'authorize'      => array('Actions')
    ),
);
Run Code Online (Sandbox Code Playgroud)

这最终解决了我的问题.希望它也适合你.