【发布时间】:2020-06-14 17:03:48
【问题描述】:
我在全新的 Cakephp 安装中使用插件“CakeDC/Users”。 我有两个控制器:PagesController.php、CardsController.php。 Pages 有 1 个操作(测试版,它是主页),Cards 有两个操作(索引和单个)。
这是引导程序中的设置:
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,我总是会重定向到主页。如果我禁用了插件,页面访问就可以了。
我一直坚持这个有一段时间了,有什么帮助吗? 谢谢, 最好的问候
【问题讨论】:
标签: php authentication cakephp cakedc