gpt4 book ai didi

symfony - 如果没有默认 Controller /操作,登录 check_path 路由如何工作?

转载 作者:行者123 更新时间:2023-12-03 01:29:34 25 4
gpt4 key购买 nike

我正在开发具有以下路由代码的 symfony 2.3 项目

just2_frontend_logincheck:
pattern: /login_check

没有

defaults:{ _controller: testBundle:User:login }

但它正在发挥作用。但我不知道路由是如何工作的。是否可以?请给我关于路由的建议。

最佳答案

check_path 防火墙使用路由/路径来捕获登录请求。

该路由的操作从未被真正访问过。这是您的登录表单发布到的路由/URL,该请求应由您的防火墙提供商服务处理。

如果check_path正在执行路由的操作,防火墙出现问题(您的防火墙未处理该请求)。

如您所见here FOSUserBundle 的 check_path 被路由到 SecurityController::checkAction 并仅抛出 RuntimeException

check_path的配置可以在app/config/security.yml中找到下security.firewalls.<firewallname>.form_login.check_path

它可以是像 /login_check 这样的模式或者在您的情况下是路线名称,即 just2_frontend_logincheck但没有任何潜在的行动。

security:
providers:
your_provider_name: your_provider_service # authentication provider
# ...

firewalls: # Required
your_firewall_name:
# ...

provider: your_provider_name
form_login:
check_path: /login_check # submit the login form here
# in your case a route name:
# just2_frontend_logincheck

在底层,symfony 调用 authenticate()服务方式your_provider_service检查所提供的凭据。

您可以使用以下方法找到用作提供者服务的类:

app/console debug:container --show-private your_provider_service 

关于symfony - 如果没有默认 Controller /操作,登录 check_path 路由如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17406446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com