为什么注销不起作用? Symfony2
问题描述:
我点击我的注销按钮,应该注销我。我根据纪录片所做的一切,但仍收到以下错误为什么注销不起作用? Symfony2
Unable to find the controller for path "/logout". The route is wrongly configured.
这里是我的security.yml
firewalls:
main:
anonymous: ~
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
secured_area:
pattern: ^/
form_login:
login_path: /login
check_path: /login_check
default_target_path:/
logout:
path: /logout
target:/
invalidate_session: false
我当然加
logout:
path: /logout
到的routing.yml
我的注销有什么问题?
答
增加这样的功能解决了这个问题:
/**
* @Route("/logout", name="logout")
*/
public function logingOut() {
$this->get('security.token_storage')->setToken(null);
$this->get('request')->getSession()->invalidate();
return $this->redirect($this->generateUrl('index_page'));
}
答
你确定你添加在文件中的注销路径路由?试试这个在您的控制台,你应该看到未来:
app/console debug:router
...
login ANY ANY ANY /login
login_check ANY ANY ANY /login_check
logout ANY ANY ANY /logout
...
,如果你不能看到这一点,也许你不正确的路由添加的路径。
我应该在哪里添加它?在security.yml中注销?我收到以下错误,然后在“security.firewalls.secured_area.logout”下出现无法识别的选项“注销” –