有没有办法禁止防火墙到 symfony 中的特定域

Is there a way to disallow a firewal to specific domain in symfony

我正在为 api 设置安全性。我需要保护 api URL。 因此,请求 url mydomain.com/api/ 的认证。 但是如果请求来自同一个域(mydomain.com),我想关闭验证。

我尝试使用主机密钥并放置一个正则表达式:当主机不包含 "mydomain" 时。但是没有用。

firewalls:
        api:
            pattern:   ^/api
            host: ^((?!mydomain).)*$
            stateless: true
            anonymous: true
            lexik_jwt:
                authorization_header:
                    enabled: true
                    prefix:  Bearer
firewalls:
        api:
            pattern:   ^/api
            host: #???????
            stateless: true
            anonymous: true
            lexik_jwt:
                authorization_header:
                    enabled: true
                    prefix:  Bearer

我希望 api 防火墙在请求来自 mydomain 之外时工作。当请求来自 mydomain 时不工作。

你可以试着反推你的逻辑。

建立两个防火墙:

  • 第一个拦截来自您域的请求并禁用对这些请求的身份验证。
  • 第二个捕获所有剩余的请求并要求进行身份验证。