我正在 Symfony 5 中创建我的第一个应用程序,我使用 make 命令创建了身份验证系统,并且我试图让我的应用程序在用户登录时重定向到 /home 但我一直无法。
我已阅读我必须在 security.yaml 中设置参数 security.firewalls.main.form_login.default_target_path
https://symfony.com/doc/current/security/form_login.html#redirecting-after-success
我知道这个文件正在被读取,因为如果我故意拼错它,应用程序会抛出一个错误,但我在那个字段上放了什么并不重要,登录后我总是被重定向到根页面 /
为什么会这样?登录后如何将用户重定向到 home
路由?
作为附加信息:
home
路线存在并指向 /home
这是我的security.yaml的内容:
security:
encoders:
App\Entity\User:
algorithm: auto
providers:
app_user_provider:
entity:
class: App\Entity\User
property: username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: true
lazy: true
provider: app_user_provider
guard:
authenticators:
- App\Security\AppAuthenticator
logout:
path: app_logout
form_login:
default_target_path: home
access_control:
- { path: '^/proyecto', roles: IS_AUTHENTICATED_FULLY }
答案 0 :(得分:0)
感谢@Cerad,我发现我混淆了两种不同的身份验证方法。
我必须检查 AppAuthenticator 类的 onAuthenticationSuccess 方法。在那里我明确重定向到 /
在那个方法中我可以定义重定向路径