我一直在寻找一段时间,但找不到答案。
此行为适用于登录,并在表单中使用_target_path
参数。
但是,此参数不适用于注册。这有点烦人,我在哪里错过了什么?我正在考虑在注册成功事件上实现一个监听器,但是不像登录表单那么简单似乎很奇怪。
答案 0 :(得分:1)
回答那些想知道的人。
感谢@yceruto的评论。
我在REGISTRATION_SUCCESS
事件上快速倾听:
/**
* @param FormEvent $event
*/
public function redirectOnRegistration(FormEvent $event)
{
$route = $event->getRequest()->headers->get('referer', $this->router->generate('homepage'));
$response = new RedirectResponse($route);
$event->setResponse($response);
}
(如果没有引用者,我会在主页上重定向)。
答案 1 :(得分:0)
在您的安全设置中,您必须打开referer:
firewalls:
dev:
pattern: ^/(_(profiler|wdt|console)|css|images|js)/
security: false
main:
pattern: ^/any_pattern
anonymous: ~
form_login:
login_path: any_pattern_login
check_path: any_pattern_login
use_referer: true
logout: true
access_denied_handler: app.security.access_denied_handler
guard:
authenticators:
- app.api_authenticator
provider: api_provider
logout:
path: any_pattern_logout
invalidate_session: true