相关疑难解决方法(0)

启用"记住我"时,在Symfony 2应用程序中注销用户

我正在寻找一种方法来记录用户退出Symfony 2应用程序,但无法找到正确的方法.

我试过这里描述的方法: Symfony2:如何在控制器中手动记录用户?

$this->get('security.context')->setToken(null);
$this->get('request')->getSession()->invalidate();
Run Code Online (Sandbox Code Playgroud)

当" 记住我 "被禁用时它工作正常,但是,当我启用它时,它不起作用.看起来这个cookie会再次自动重新验证用户.

remember_me:
    key:      "%secret%"
    lifetime: 31536000
    path:     /
    domain:   ~
    always_remember_me: true
Run Code Online (Sandbox Code Playgroud)

将用户退出Symfony 2应用程序的正确方法是什么?我是否需要从服务器端另外删除此cookie?

php security authentication logout symfony

8
推荐指数
2
解决办法
7213
查看次数

如何强制用户注销symfony2

我想在检查它没有足够的功能访问特定的安全区域后强制用户在symfony2中注销.

我尝试过:

$this->get('request')->getSession()->invalidate();
Run Code Online (Sandbox Code Playgroud)

但似乎出现了问题,用户仍然登录,直到我使用/ logout路由将其注销.

我要提一下,我正在使用KayueWordpressBundle将我的symfony应用程序与基于wordpress的网站连接起来,以创建一个自定义后台办公室.

这是我的security.yml文件

security:
firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false
    login_firewall:
        pattern:    ^/$
        anonymous:  ~
    secured_area:
        pattern:    ^/
        kayue_wordpress: ~
        form_login:
            check_path: /login_check
            login_path: /
        logout:
            path:   /logout
            target: /
access_control:
    - { path: ^/admin, roles: ROLE_ADMIN }

providers:
    wordpress:
        entity: { class: Kayue\WordpressBundle\Entity\User, property: username }

encoders:
    Kayue\WordpressBundle\Entity\User:
        id: kayue_wordpress.security.encoder.phpass
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

谢谢

php security wordpress logout symfony

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

logout ×2

php ×2

security ×2

symfony ×2

authentication ×1

wordpress ×1