0
我想使用带两个防火墙的symfony2应用程序:一个来自前端数据库的用户,另一个来自后端的内存用户。Symfony2安全配置 - 如何并行使用两个防火墙
我已阅读所有文档和各种计算器的问题,但我无法解决我的问题。
这是迄今为止我security.yml配置:
security:
firewalls:
frontend:
pattern: ^/
provider: fe_users
anonymous: ~
form_login:
username_parameter: _email
login_path: _login
check_path: _login_check
remember_me: true
default_target_path: _profile
#always_use_default_target_path: true
logout:
path: /logout
target:/
remember_me:
key: MiPassphrase
lifetime: 1800
path: /.*
domain: ~
backend:
pattern: ^/backend
provider: be_users
anonymous: ~
http_basic:
realm: ""
access_control:
- { path: ^/backend$, roles: ROLE_ADMIN }
- { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY }
encoders:
vv\xx\Entity\User:
algorithm: bcrypt
Symfony\Component\Security\Core\User\User: plaintext
providers:
fe_users:
entity: { class: vvxx:User, property: email }
be_users:
memory:
users:
d: { password: c, roles: 'ROLE_ADMIN' }
与发生什么:
的前端认证工作正常。如果用户未登录到前端,则/后端的访问会将我重定向到/登录。如果用户IS登录(并通过身份验证)到前端,那么访问/后端会给我一个403访问被拒绝。永远不会出现“经典”http认证登录表单。
任何人都可以看看我的配置,并找出我在这里做错了吗?
我真的很感谢你的帮助:)
您是否尝试过在每个防火墙使用相同'context'前反演防火墙秩序,地方后端?例如两个防火墙中的'context:my_project' – Javad 2014-10-30 18:14:43
尝试反转防火墙的顺序,将前端放在前端 – 2014-10-30 20:05:14
是的,就像@IgorPantović说的那样,你所有的路由都被'^ /'模式捕获,因此切换它们应该为你做。 – qooplmao 2014-10-30 20:34:02