每种身份验证类型一个多个防火墙

时间:2018-05-06 16:02:58

标签: symfony

我正在尝试通过以下文章实现令牌身份验证(除了表单登录):

https://symfony.com/doc/current/security/api_key_authentication.html https://symfony.com/doc/current/security/multiple_user_providers.html

这是我的security.yaml:

main:
    anonymous: true
    pattern: ^/
    provider: db_provider

    form_login:
        login_path: auth_login
        check_path: auth_login

#secured_area:
    logout:
        path:   /auth/logout
        target: /         

token:
    anonymous: true
    pattern: ^/token

    stateless: false
    simple_preauth:
        authenticator: App\Security\TokenAuthenticator
    provider: token_user_provider        

这不起作用 - 除非我注释掉“主”防火墙,否则永远不会调用令牌身份验证器。

我认为我可以通过阅读本文并仅使用“主要”防火墙来实现我的要求:

https://symfony.com/doc/current/security/multiple_user_providers.html

但是我更喜欢我现在正在尝试的方法,因为我不希望令牌验证器在我希望它仅限于/token路径的每个请求上触发,我宁愿避免检查路径在文档中建议的TokenAuthenticator::createToken(...)内:

https://symfony.com/doc/current/security/api_key_authentication.html#only-authenticating-for-certain-urls

任何想法,建议?

0 个答案:

没有答案