grails spring安全插件和标准弹簧安全插件的安全注释是否存在差异?
您可以使用@Secured注释(标准版) org.springframework.security.access.annotation.Secured或插件 grails.plugin.springsecurity.annotation.Secured也适用于 控制器关闭操作)在控制器中配置哪个 角色是哪些操作所必需的。要使用注释,请指定 securityConfigType =“Annotation”,或者保留未指定,因为它是 默认
似乎要么在我们的项目中有效,要避免出现问题,我只想确定。
答案 0 :(得分:3)
插件的注释具有标准Spring Security注释的所有功能,还有更多功能。我最初将它添加到Acegi插件中以便能够注释控制器,这些控制器当时只能实现为Closures,并且标准注释仅配置为处理方法和类级别。最近我在2.0插件中添加了对使用Groovy闭包在注释中指定安全规则的支持,这当然不是Spring Security的核心功能。
在Spring Security和插件中,注释用于添加安全检查或代理,因此是主要信息容器。我在插件中配置它与内核Spring Security的配置类似,但由于Grails的工作方式,我无法直接使用他们的代码。但在这两种情况下,提取的数据都用于构建Spring Security数据对象,然后用于执行繁重的工作,并且这些数据相同(或实际上相同)。这类似于GORM如何与Hibernate一起工作 - 最终Hibernate根据构建时收集的信息完成工作,而常规应用程序中的工作来自hbm.xml文件和注释,而Grails中则来自查看域类。