我正在开发一个捆绑包,最终我想作为第三方捆绑包发布。在这个包中,我有控制器需要保护的方法,例如登录用户等。
我找到two methods来保护这些路由,一个是注释,另一个手动检查文件控制器逻辑本身。根据我的喜好,这两种方法都没有解耦,在我看来,如果开发人员定制的角色很糟糕,那么要求编辑文件来改变角色。
我想将此配置移到xml文件中,但我没有找到任何文档或示例来执行此操作。
如果目前无法实施,您会建议强制使用安全路线,但仍然可以轻松编辑和更新?
答案 0 :(得分:2)
JMSSecurityExtraBundle(处理方法访问控制的包)可以通过注释或(在主分支中)通过在config.yml / config.xml中为bundle的配置添加表达式来配置:
jms_security_extra:
method_access_control:
"ProductManager::bulkDelete$": "hasRole('ROLE_ADMIN')"
如果您想使用此技术来保护控制器,您还需要安装JMSDiExtraBundle。
答案 1 :(得分:0)
那个注释是由JMSSecurityExtraBundle提供的。您可以查看其documentation以查找答案(在“配置和方法安全授权”段落下)。
P.S。只需快速说明:任何将使用您的软件包的开发都不需要(也不应该)编辑实际软件包代码中的任何内容,无论您决定如何配置它们,它们都会扩展您的软件包并配置扩展(请参阅FOSUserBundle如何配置以供参考)
P.S。大声笑,与Kris同时答案基本相同:D