2017-12-20 28 views
1

사용자를 로그 아웃 할 수 없습니다.Symfony 4로 로그 아웃 할 수 없습니다

나는 사용자 정의 사용자 관리 로직을 Symfony 4 프로젝트로 포팅했습니다. securityguard에 대한 레시피를 사용합니다./ 로 사용자 리디렉션 - - 사용자/로그 아웃 가 간다 - is_granted("IS_AUTHENTICATED_REMEMBERED") 내 템플릿에 true를 반환하고 있습니다 (false는 가 :

logout: 
     path: /logout 
     target:/

결과 : 여기

내 주요 방화벽에서 logout 설정입니다 예상)

기타 고려 사항 : - 방화벽 항목을 제거하면 오류가 발생하므로 방화벽 항목이 트리거됩니다. - 트라이가 있음 세션과 쿠키를 없애기 위해 logout에 추가 매개 변수를 추가했습니다. 아무런 차이가 없었습니다. - 로그인이 정상적으로 작동합니다.

문제를 해결하는 방법에 대한 아이디어가 있으십니까?

:: 편집 - 요청한 :: 필드 $this->email에 대한

security: 
    encoders: 
     App\Entity\User: bcrypt 
    role_hierarchy: 
     ROLE_ADMIN:  ROLE_USER 
     ROLE_SUPER_ADMIN: ROLE_ADMIN 
    providers: 
     app_users: 
      entity: { class: App\Entity\User, property: email } 
     app_oauth: 
      id: app.oauth_user_provider 
    firewalls: 
     dev: 
      pattern: ^/(_(profiler|wdt)|css|images|js)/ 
      security: false 
     main: 
      provider: app_users 
      anonymous: ~ 
      oauth: 
       resource_owners: 
        google: "/login/check-google" 
       default_target_path:/
       login_path:/
       failure_path: /login 
       oauth_user_provider: 
        service: app.oauth_user_provider 
      remember_me: 
       secret: "%env(APP_SECRET)%" 
       lifetime: 2592000 
       path:/
      guard: 
       authenticators: 
        - App\Security\LoginFormAuthenticator 
       entry_point: App\Security\LoginFormAuthenticator 
      logout: 
       path: /logout 
       target:/
      switch_user: ~ 
+0

안녕하세요,'config/packages/security.yaml' 파일을 보여 주시겠습니까? – MatMouth

+0

@MatMouth 예, 방금 추가했습니다. 감사합니다. – Coder1

+1

익명 사용자에 대한 페이지를 승인하기위한 access_control이 없습니다. 'access_control : - {path : ^/login/check-google, roles : IS_AUTHENTICATED_ANONYMOUSLY}' – MatMouth

답변

1

확인 serializeunserialize 방법을 App\Entity\Usersecurity.yaml을 추가했다.