Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony 2.7.7。注销:找不到路径/注销的控制器_Php_Symfony_Authentication_Logout - Fatal编程技术网

Php Symfony 2.7.7。注销:找不到路径/注销的控制器

Php Symfony 2.7.7。注销:找不到路径/注销的控制器,php,symfony,authentication,logout,Php,Symfony,Authentication,Logout,在Symfony 2.7.7项目中,我实现了一个传统的登录表单,如官方文档中所述。不幸的是,每次用户注销时,我都会出现以下错误: 找不到路径“/注销”的控制器。路由配置错误 我遵循这个配置,在过去我成功地做了很多次,但是我找不到错误 这是我的密码: #security.yml security: firewalls: dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ secur

在Symfony 2.7.7项目中,我实现了一个传统的登录表单,如官方文档中所述。不幸的是,每次用户注销时,我都会出现以下错误:

找不到路径“/注销”的控制器。路由配置错误

我遵循这个配置,在过去我成功地做了很多次,但是我找不到错误

这是我的密码:

#security.yml
security:
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false    
        login:
            pattern:  ^/login$
            anonymous: ~
        main:
            anonymous: ~
            form_login:
                login_path: /login
                check_path: /login_check    
        secured_area:
            pattern:    ^/
            form_login: ~
            remember_me:
                key: "%secret%"
                lifetime: 604800
                path:     /
                domain:   ~
            logout:
                path:   /logout
                target: /login
    access_control:
        - { path: ^/admin/utenti/modifica-password-scaduta, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin, roles: ROLE_ADMIN }
        - { path: ^/aziende, roles: [ROLE_ADMIN, ROLE_ADMINISTRATIVE_PERSONNEL, ROLE_DOCTOR] }
        - { path: ^/pazienti, roles: [ROLE_ADMIN, ROLE_ADMINISTRATIVE_PERSONNEL, ROLE_DOCTOR] }
        - { path: ^/cartelle-sanitarie, roles: [ROLE_ADMIN, ROLE_ADMINISTRATIVE_PERSONNEL, ROLE_DOCTOR] }

#routing.yml
app:
    resource: "@AppBundle/Controller/"
    type:     annotation

logout:
    path: /logout
注销路径包含在router:debug提供的列表中

名称方法方案主机路径
登录\路由任意/登录
登录\检查任意/登录\检查
注销任何/注销

我知道很多讨论都集中在这个问题上(即or),但我很多天都找不到错误,我被卡住了

多谢各位

更新:我临时修复了它,在SecurityController中定义了注销操作:

/**
 * @Route("/logout", name="logout")
 */
public function logoutAction()
{
    $this->container->get('security.context')->setToken(null);

    return $this->redirect($this->generateUrl('login_route'));
}

也许这段代码可以帮助和我处境相同的人

我认为问题在于您正在尝试匹配/注销。 路径中有前缀(安全区域)。 尝试在安全区域使用此模式:

pattern: ^/secured_area
请尝试在路由器中匹配此项。yml:

/secured_area/logout

我认为问题在于您正在尝试匹配/注销。 路径中有前缀(安全区域)。 尝试在安全区域使用此模式:

pattern: ^/secured_area
请尝试在路由器中匹配此项。yml:

/secured_area/logout

同样的问题:“无法找到路径“/安全区域/注销”的控制器。路由配置错误。”。我已经按照你之前的要求,用router:debug的结果编辑了我的帖子。感谢收看:已经看到了。。。但我的模式中没有前缀。这似乎有点不同,或者我只是不知道如何解决问题…@Gianluca78-你有没有发现这个问题?同样的问题:“找不到路径/安全区域/注销的控制器”。路由配置错误。“”。我已经按照你之前的要求,用router:debug的结果编辑了我的帖子。感谢收看:已经看到了。。。但我的模式中没有前缀。这似乎有点不同,或者我只是不明白如何解决这个问题…@Gianluca78-你有没有想过这个问题?