我有一个控制器,可以使用特定方法登录:
public function login() {
if ($this->request->is('post')){
$user = $this->Auth->identify();
if ($user) {
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl());
}
// not logged
$this->Flash->error('Your username or password is incorrect');
}
}
和默认路线类似
Router::scope('/', function (RouteBuilder $routes) {
$routes->fallbacks(DashedRoute::class);
});
用户登录后,CakePHP会抛出错误
错误:找不到匹配“/”的路由。
当前连接的路线都不匹配提供的参数。 添加匹配的路由到config / routes.php
当IMO应该重定向到执行登录方法的页面(基于相关控制器)。
登录代码基于that教程。
有什么想法?
答案 0 :(得分:1)
要解决此问题:
请更新routes.php文件中的以下行
路由器:: defaultRouteClass(' DashedRoute&#39);
Router :: scope(' /',function(RouteBuilder $ routes){
$routes->connect('/', ['controller' => 'users', 'action' => 'index']);
$routes->fallbacks('DashedRoute');
}); 插件::路线();
请在用户控制器中创建index()。 如果有任何问题,请告诉我。