簡體   English   中英

創建沒有路徑的路線[Symfony3]

[英]Create route without path [Symfony3]

在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()

我希望沒有人可以訪問此控制器的方法。

登錄此方法后,是否可以創建這樣的路由或其他重定向方法?

我想向會話添加一些變量,但登錄后只能添加一次。

解決此問題的最佳方法是偵聽security.interactive_login事件:

default_target_path並非用於此目的。 那只是重定向到控制器操作,例如用戶配置文件。

一次使用控制器動作,然后通過設置會話密鑰使其不可訪問將是一個丑陋的黑客。

為此,請閱讀https://symfony.com/doc/current/components/security/authentication.html#authentication-events 使用事件偵聽器會使它自動隱藏在外界之外。

@Route無法做到這一點。 這里有什么問題,為什么要呢?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM