允许匿名访问Symfony防火墙保护的捆绑包中的特定URL [英] Allow anonymous access to specific URL in Symfony firewall protected bundle

查看:60
本文介绍了允许匿名访问Symfony防火墙保护的捆绑包中的特定URL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Symfony捆绑包,只能使用mydomain.com/box

进行访问

要访问/box,您必须先登录,但是我想启用对mydomain.com/box/download

的匿名访问

# Security.yml
access_control:
    - { path: ^/box , roles: ROLE_USER}

我该怎么办?

解决方案

# security.yml
access_control:
    - { path: ^/box/download , roles: IS_AUTHENTICATED_ANONYMOUSLY}
    - { path: ^/box , roles: ROLE_USER}

Symfony2防火墙按顺序处理,并且仅应用第一个匹配的防火墙.因此,如果将/box/download放在/box之前,则/box/download规则将被处理,其余规则将被忽略.

http://symfony.com/doc/current/book/security.html

I have a Symfony bundle which can only be accessible by using mydomain.com/box

To access /box you must be logged in, however i would like to enable anonymous access into mydomain.com/box/download

# Security.yml
access_control:
    - { path: ^/box , roles: ROLE_USER}

How can i do ?

解决方案

# security.yml
access_control:
    - { path: ^/box/download , roles: IS_AUTHENTICATED_ANONYMOUSLY}
    - { path: ^/box , roles: ROLE_USER}

Symfony2 firewalls are processed in order, and only first matching one will be applied. Therefore, if you put the /box/download before /box, the /box/download rule will be processed and the rest will be ignored.

http://symfony.com/doc/current/book/security.html

这篇关于允许匿名访问Symfony防火墙保护的捆绑包中的特定URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆