Cakedc.users =>总是重定向到主页

时间:2016-09-20 13:09:26

标签: php authentication cakephp cakedc

我在大脑新的Cakephp安装中使用插件“CakeDC / Users”。 我有两个控制器:PagesController.php,CardsController.php。 Pages有1个动作(Beta,它是主页),还有两个动作(索引和单个)。

以下是bootstrap中的设置:

Configure::write('Users.config', ['users']);
Plugin::load('CakeDC/Users', ['routes' => true, 'bootstrap' => true]);

config / users.php中的插件配置:

return [
'Users' => [
    'Email' => [
        'validate' => false
    ]
],
'Auth' => [
    'loginAction' => [
        'plugin' => null,
        'controller' => 'Members',
        'action' => 'login',
        'prefix' => null
    ],
    'logoutAction' => [
        'plugin' => null,
        'controller' => 'Members',
        'action' => 'logout',
        'prefix' => null
    ],
    'authenticate' => [
        'all' => [
            'finder' => 'auth',
        ],
        'CakeDC/Users.ApiKey',
        'CakeDC/Users.RememberMe',
        'Form',
    ],
    'authorize' => [
        //'CakeDC/Users.Superuser',
        //'CakeDC/Users.SimpleRbac',
    ],
],

];

我只配置了一条路线:

$routes->connect('/', ['controller' => 'Pages', 'action' => 'Beta', 'home']);

这是我的AppController.php:

    public function initialize()
    {
        parent::initialize();
        $this->loadComponent('Flash');
        $this->loadComponent('CakeDC/Users.UsersAuth');
    }

主页是允许的:

$this->Auth->allow('beta');

未登录时,我只能访问/ pages / beta,这没关系。我可以使用插件注册,登录和注销,这方面没问题。

一旦我登录,我就无法访问除主页之外的任何其他页面。 如果我到/ cards / index,或/ cards / single,我总是会重定向到主页。如果我禁用了插件,页面访问就可以了。

我已经坚持了一段时间了,有什么帮助吗? 谢谢, 最诚挚的问候

1 个答案:

答案 0 :(得分:3)

没关系,我已经取代了:

'authorize' => [
       //'CakeDC/Users.Superuser',
       //'CakeDC/Users.SimpleRbac',
],

通过:

'authorize' => false,

默认情况下,使用的插件会使用某个组件进行授权,因此,如果您不打算使用该插件,则可以设置" false"确保你没有问题。或者您必须通过设置良好的设置来设置授权的控制器和操作。

谢谢,