2017-04-11 37 views
0

我在我的應用程序中使用與警衛認證。我有兩種不同的方式登錄2個不同的衛隊身份驗證。 我的安全看起來是這樣的:Symfony 3使用2警衛authenticator

firewalls: 

    login: 
     pattern: /(login|api.*)$ 
     anonymous: ~ 

    autolog: 
     pattern: /(autolog.*)$ 
     anonymous: ~ 
     guard: 
      authenticators: 
       - app.autolog_authenticator 

    main: 
     logout: 
      invalidate_session: true 
      path: /%locale%/logout 
      target: /%locale%/login 

     guard: 
      authenticators: 
       - app.token_authenticator 

的token_authenticator完美的作品。但是,當我使用autolog時,用戶完全使用autolog_authenticator進行日誌記錄,但是它會進入拒絕連接的token_authenticator中。 如何告訴應用程序只使用autolog_authenticator並且不要去token_authenticator?

回答

0

我終於找到我如何c一個。 我只是爲每個後衛使用了相同的上下文。我這樣使用它

firewalls: 

login: 
    pattern: /(login|api.*)$ 
    anonymous: ~ 

autolog: 
    pattern: /(autolog.*)$ 
    context : primary_auth 
    anonymous: ~ 
    guard: 
     authenticators: 
      - app.autolog_authenticator 

main: 
    context : primary_auth 
    logout: 
     invalidate_session: true 
     path: /%locale%/logout 
     target: /%locale%/login 

    guard: 
     authenticators: 
      - app.token_authenticator