symfony2 API 身份验证和路由

发布于 2024-12-05 21:32:17 字数 825 浏览 0 评论 0原文

我按照创建自定义身份验证提供程序的说明进行操作: http://symfony.com/ doc/current/cookbook/security/custom_authentication_provider.html

app/config/security

firewalls:
    wsse_protection:
        pattern: ^/api/.*
        wsse: true
    main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
        logout:       true
        anonymous:    true

现在我在带有路由的控制器中有一些操作。例如:

ExampleController 与 listAction

路由

example_list:
    pattern: /example/list
    defaults: { ... }

我是否必须将所有路由复制到 example_api_list?因为 api/example/list 不起作用(找不到 /api/example/list 的路由)。我认为防火墙的模式是所有已定义路由的前缀。

I followed the instructions for creating a custom authentication provider: http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html

app/config/security:

firewalls:
    wsse_protection:
        pattern: ^/api/.*
        wsse: true
    main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
        logout:       true
        anonymous:    true

Now I have some Actions in the Controllers with routes. e.g:

ExampleController with listAction

routing:

example_list:
    pattern: /example/list
    defaults: { ... }

Do I have to copy all the routes to example_api_list? Because api/example/list didnt work (no route found for /api/example/list). I thought the pattern from the firewall is a prefix for all defined routes.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝眸 2024-12-12 21:32:17

防火墙不是前缀,而是与传入路由匹配的正则表达式。在这种情况下,以 /api 开头的任何内容都将由您的 wsse_protection 防火墙匹配,而所有未通过的内容都将由您的 main 防火墙匹配。

要在 /api/* 下创建路由,您必须单独定义路由。

The firewall isn't a prefix, it's a regular expression that matches against incoming routes. In this case, anything starting with /api will be matched by your wsse_protection firewall, and everything that falls through will be matched by your main firewall.

To create routes under /api/*, you'll have to define the routing separately.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文