2017-04-11 5 views
0

私は自分のアプリケーションでガードによる認証を使用しています。私は2つの異なるガードオーセンティケーターでログインする2つの異なる方法があります。 私のセキュリティは、次のようになります。Symfony 3 2つのガードオーセンティケータを使用

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

そうです。 私は各ガードに対して同じコンテキストを使用しました。私はこのように使う。

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 
関連する問題