【问题标题】:Is it possible to secure whole Controller in Symfony 2?是否可以在 Symfony 2 中保护整个控制器?
【发布时间】:2012-08-17 02:59:39
【问题描述】:

我正在使用 JMSSecurityExtra 包来保护我的控制器中的方法。 但是有什么方法可以让我用@Secure 保护整个控制器?

【问题讨论】:

    标签: php symfony jms


    【解决方案1】:

    这可以按照Documentaion来完成

    https://github.com/schmittjoh/JMSSecurityExtraBundle/issues/50

    提示:如果您想用相同的方式保护控制器的所有操作 规则,您也可以在类本身上指定@PreAuthorize。警告 但是,此规则仅适用于在 班级。

    use JMS\SecurityExtraBundle\Annotation\PreAuthorize;
    
     /** @PreAuthorize("hasRole('A') or (hasRole('B') and hasRole('C'))") */
    class MyService
    {
    
        public function secureMethod()
        {
            // ...
        }
    }
    

    【讨论】:

      【解决方案2】:

      此注解只能应用于方法。

      你可以这样做(它是一个正则表达式):

      jms_security_extra:
          method_access_control:
              'AcmeDemoBundle:AdminController:.*Action': 'hasRole("ROLE_ADMIN")'
      

      阅读文档:http://jmsyst.com/bundles/JMSSecurityExtraBundle/master/method_security_authorization

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-29
        • 2013-05-14
        • 2018-01-10
        • 2018-02-25
        • 1970-01-01
        • 1970-01-01
        • 2017-04-08
        相关资源
        最近更新 更多