2014-03-03 33 views
0

這似乎是一個簡單的問題,但到目前爲止我找不到任何答案。我想要做的是阻止登錄用戶到特定路徑(登錄,註冊,...)。在邏輯上,客人(非登錄用戶)必須允許Config symfony2防火牆阻止除客人以外的所有用戶

我的問題是:

  1. 是否有可能被內部security.yml僅配置了嗎?如果是,如何?

  2. 如果沒有,有沒有更方便的方法(例如:我可以配置在一個地方像我在security.yml正在做的所有這些權限/路徑)來實現無需在每個路徑中使用$securityContext->isGranted('ROLE_USER')那結果呢?

回答

0

如果您使用的是symfony 2.4,那麼您可以在security.yml文件中指定它。該文檔Securing by expression

基本上,在您的access_control部分中,您可以使用allow_if條目,該條目允許您擁有自定義條件表達式。

您可以使用類似這樣的表達式:

allow_if: 「不is_authenticated()」