@Secured grails 插件与标准插件的注释



grails spring安全插件的安全注释和标准的spring安全插件有区别吗?

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

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

似乎两者都适用于我们的项目,但为了避免出现问题,我只想确定一下。

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

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

最新更新