我在为我的Symfony应用程序使用两个防火墙时出错。我有一个针对普通会员的防火墙和另一个针对供应商的防火墙。
错误是"找不到路径的控制器"/供应商/登录检查"。也许你忘了在路由配置中添加匹配的路由?"
当我点击任何登录和注销路由时,member_secured_area都可以很好地工作,但它不适用于vendor_secured_area路由。
当我转到/vender/dashboard路由时,它会将我重定向到/vender/login,但由于上述错误,发布到/vender''login检查失败。
感谢
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
vendor_secured_area:
pattern: ^/vendor/dashboard
provider: member
anonymous: false
form_login:
login_path: vendor-login
check_path: vendor-login-check
logout:
path: vendor-logout
target: /
member_secured_area:
pattern: ^/
provider: member
anonymous: ~
form_login:
login_path: member-login
check_path: member-login-check
default_target_path: home
success_handler: security.authentication_handler
failure_handler: security.authentication_handler
logout:
path: member-logout
target: /
remember_me:
key: "%secret_key%"
lifetime: 2592000
path: /
domain: ~
access_control:
member_access:
path: ^/member/dashboard
roles: IS_AUTHENTICATED_REMEMBERED
# vendor_access:
# path: ^/vendor/dashboard
# roles: IS_AUTHENTICATED_REMEMBERED
我发现了这个问题。我的登录、注销和检查路径不在防火墙后面。
我必须允许匿名进入我的供应商安全区域,以允许访问登录页面,然后使用访问控制来要求一个角色。
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
vendor_secured_area:
pattern: ^/vendor/dashboard
provider: member
anonymous: ~
form_login:
login_path: vendor-login
check_path: vendor-login-check
default_target_path: vendor-dashboard-index
always_use_default_target_path: true
logout:
path: vendor-logout
target: /
member_secured_area:
pattern: ^/
provider: member
anonymous: ~
form_login:
login_path: member-login
check_path: member-login-check
default_target_path: home
success_handler: security.authentication_handler
failure_handler: security.authentication_handler
logout:
path: member-logout
target: /
remember_me:
key: "%secret_key%"
lifetime: 2592000
path: /
domain: ~
access_control:
- { path: ^/member/dashboard, roles: IS_AUTHENTICATED_REMEMBERED }
- { path: ^/vendor/dashboard/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/vendor/dashboard, roles: IS_AUTHENTICATED_REMEMBERED }