创建没有路径的路径[Symfony3]

时间:2017-10-27 22:07:32

标签: php symfony

在firewall / main / form_login的security.yml中我有这个:

default_target_path: after_login
always_use_default_target_path: true

我想创建一个名为after_login但没有路径的路由,但symfony会在登录后将我重定向到主页。

/**
 * @Route(name="after_login")
 */
public function afterloginAction()

我希望没有人可以访问此控制器的方法。

是否可以在登录此方法后创建此类路线或其他方式进行重定向?

2 个答案:

答案 0 :(得分:2)

  

我想在会话中添加一些变量,但只能在登录后添加一次。

接近这个的最佳方式是听取security.interactive_login事件:

default_target_path不适用于此。这只是一个重定向到控制器操作,例如用户配置文件。

使用控制器操作一次,然后通过设置会话密钥使其无法访问将是一个丑陋的黑客。

为此目的阅读https://symfony.com/doc/current/components/security/authentication.html#authentication-events。使用事件监听器会使其自动隐藏在外部世界中。

答案 1 :(得分:1)

@Route无法做到这一点。这里有什么不对的,为什么你想要它?