prosource

사용자 로그아웃 symfony2를 강제 실행하는 방법

probook 2023. 3. 14. 21:44
반응형

사용자 로그아웃 symfony2를 강제 실행하는 방법

symfony2에 특정 보안 영역에 액세스하기 위한 충분한 기능이 없는지 확인한 후 강제로 로그아웃시키고 싶습니다.

다음과 같이 시도했습니다.

$this->get('request')->getSession()->invalidate();

하지만 뭔가 잘못된 것 같습니다.사용자는 제가 /logout route를 사용하여 로그아웃 할 때까지 로그인하지 않았습니다.

제가 카유에를 쓰고 있다는 걸 말씀드려야겠네요.WordpressBundle은 내 심볼릭 앱을 워드프레스 기반 웹 사이트에 연결하여 맞춤형 백오피스를 만듭니다.

여기 제 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

어떻게 하면 될까요?

감사해요.

를 호출하여 강제로 로그아웃할 수 있습니다.setToken()와 함께null, 다음과 같이 시험해 보십시오.

$this->container->get('security.context')->setToken(null);

보안 컨텍스트에서 사용자 토큰을 삭제하고 사용자를 쫓아냅니다.


또, 상세한 것에 대하여는, 다음의 질문을 참조해 주세요.Symfony 2 : 컨트롤러에서 수동으로 사용자를 로그아웃 하는 방법

언급URL : https://stackoverflow.com/questions/20094834/how-to-force-user-logout-symfony2

반응형