CakePHP 3.1管理员前缀路由和登录问题
我将首次使用Cake 3.1启动一个新应用程序。我以前使用版本2+,但现在情况发生了变化,我遇到了一些麻烦 我想在我的应用程序中有一个简单的授权系统,所以我决定使用“admin”前缀路由 我有: 具有登录操作的用户控制器,ArticlesController,在Controller/Admin/目录中具有命名空间App\Controller\Admin 在routes.php中,我有:CakePHP 3.1管理员前缀路由和登录问题,php,cakephp,Php,Cakephp,我将首次使用Cake 3.1启动一个新应用程序。我以前使用版本2+,但现在情况发生了变化,我遇到了一些麻烦 我想在我的应用程序中有一个简单的授权系统,所以我决定使用“admin”前缀路由 我有: 具有登录操作的用户控制器,ArticlesController,在Controller/Admin/目录中具有命名空间App\Controller\Admin 在routes.php中,我有: Router::prefix('admin', function ($routes) { $routes-&g
Router::prefix('admin', function ($routes) {
$routes->fallbacks('DashedRoute');
});
出了什么问题:
如果我已经登录,一切正常,我可以访问我的管理操作。
但是如果我没有登录,并且尝试访问/admin/articles/add,我将被重定向到/admin/users/login。这是完全错误的,我很明显得到了丢失控制器异常
我的问题:
我需要做什么来修复这个问题,并获得一个正确的重定向到loginaction/users/login,而不是前缀版本(/admin/users/login)
AppController:
public function initialize()
{
parent::initialize();
$this->loadComponent('RequestHandler');
$this->loadComponent('Flash');
$this->loadComponent('Auth', [
'loginRedirect' => [
'controller' => 'Pages',
'action' => 'display',
'home',
],
'logoutRedirect' => [
'controller' => 'Pages',
'action' => 'display',
'home'
]
]);
}
public function beforeFilter(Event $event)
{
$this->Auth->allow(['index', 'view', 'display']);
}
好的。我找到了解决方案——只需添加
'loginAction' => [
'prefix' => false,
'controller' => 'Users',
'action' => 'login',
]
若要验证组件配置,请同时显示
ArticlesController
所受的验证组件配置/调用。@ndm我已更新了我的帖子。我刚刚开始这个项目,所以我有完整的代码。