Symfony 打开默认页面以限制访问

Symfony open a default page for restricted access

如何在用户进入受限页面时自动将其重定向到 /register-as-guest?

我的错误解决方案:在security.yml我设置

firewalls:
    default:
        form_login:
            login_path: /register-as-guest

这有效,但是当用户在登录时输入错误的凭据时,它会被重定向到 /register-as-guest ( login_path ) 但应该被重定向到 /login.

你走在正确的轨道上:) 正如您在 the docs 中看到的那样,只需要多一点配置 如果您希望在登录时发生显式行为 success/failure,您应该在防火墙下使用这些配置设置:

firewall:
    default:
        ...
        form_login:
           ...
           # login success redirecting options
           always_use_default_target_path: false
           default_target_path:            / # use this if you want a standard page to be shown on login success
           target_path_parameter:          _target_path
           use_referer:                    false # set this to true to redirect back to the previously attempted page

           # login failure redirecting options
           failure_path:    /foo 
           failure_forward: false # this is what you need
           failure_path_parameter: _failure_path
           failure_handler: some.service.id
           success_handler: some.service.id

希望对您有所帮助:)

只需使用 FOSUserBundle,你需要的一切都包含在那里,你不必自己实现它,而且它有很好的文档记录很是融入一个项目