如何使用FOSUserbundle保护其他控制器?

时间:2017-08-01 05:50:41

标签: symfony

我正在尝试研究FOSUserBundle。我按照他们的文档步骤(link),我成功创建了一个登录表单和注册。现在,我正在创建另一个控制器名称TodoController,我想要保护该TodoController。它需要用户在显示待办事项页面之前先登录。如何保护TodoController?

1 个答案:

答案 0 :(得分:1)

FOSUserBundle仅扩展Symfony安全层,但所有其他Symfony安全性内容保持不变,因此您可以使用symfony安全性的默认访问控制

access_control:
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/, role: ROLE_ADMIN }

您会在自己提供的链接中找到它,但您可以在此处详细了解http://symfony.com/doc/current/security/access_control.html

或者,如果您想要更灵活,更强大的东西,可以查看JMSSecurityExtraBundle http://jmsyst.com/bundles/JMSSecurityExtraBundle/1.2/annotations

希望这有帮助,

Alexandru Cosoi