@ graured注释由grails插件与标准插件

时间:2014-12-08 18:00:27

标签: grails spring-security

grails spring安全插件和标准弹簧安全插件的安全注释是否存在差异?

基于文档:(http://grails-plugins.github.io/grails-spring-security-core/guide/requestMappings.html#securedAnnotations

  

您可以使用@Secured注释(标准版)   org.springframework.security.access.annotation.Secured或插件   grails.plugin.springsecurity.annotation.Secured也适用于   控制器关闭操作)在控制器中配置哪个   角色是哪些操作所必需的。要使用注释,请指定   securityConfigType =“Annotation”,或者保留未指定,因为它是   默认

似乎要么在我们的项目中有效,要避免出现问题,我只想确定。

1 个答案:

答案 0 :(得分:3)

插件的注释具有标准Spring Security注释的所有功能,还有更多功能。我最初将它添加到Acegi插件中以便能够注释控制器,这些控制器当时只能实现为Closures,并且标准注释仅配置为处理方法和类级别。最近我在2.0插件中添加了对使用Groovy闭包在注释中指定安全规则的支持,这当然不是Spring Security的核心功能。

在Spring Security和插件中,注释用于添加安全检查或代理,因此是主要信息容器。我在插件中配置它与内核Spring Security的配置类似,但由于Grails的工作方式,我无法直接使用他们的代码。但在这两种情况下,提取的数据都用于构建Spring Security数据对象,然后用于执行繁重的工作,并且这些数据相同(或实际上相同)。这类似于GORM如何与Hibernate一起工作 - 最终Hibernate根据构建时收集的信息完成工作,而常规应用程序中的工作来自hbm.xml文件和注释,而Grails中则来自查看域类。