【发布时间】:2014-10-28 05:58:16
【问题描述】:
我在为我的 Symfony 应用程序使用 2 个防火墙时遇到错误。我有一个防火墙供普通会员使用,另一个供供应商使用。
错误是“无法找到路径“/vendor/login-check”的控制器。也许您忘记在路由配置中添加匹配的路由?”
当我点击任何登录和注销路由时,member_secured_area 工作得非常好,但它不适用于 vendor_secured_area 路由。
当我转到 /vendor/dashboard 路由时,它会将我重定向到 /vendor/login 但发布到 /vendor/login-check 失败并出现上述错误。
谢谢
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
【问题讨论】:
-
你有响应
/vendor/login-checkURL 的路由吗?如果你运行app/console router:debug | grep login,它会出现吗? -
@Hpatoio 是的。我知道它有效,因为我交换了 2 条检查路线并且它适用于成员。
标签: php security symfony authentication