Spring Grails 2.4.4 中的安全插件问题

Spring Security Plugin Issue in Grails 2.4.4

我正在学习 Spring 安全身份验证教程:

http://spring.io/blog/2010/08/11/simplified-spring-security-with-grails/ 视频:https://www.youtube.com/watch?v=auwML_bsUEE

我无法按照 4:50 中的步骤操作。

package org.example

import grails.plugins.springsecurity.Secured

class PostController {
...
@Secured(['ROLE_USER'])
def followAjax = { ... }

@Secured(['ROLE_USER', 'IS_AUTHENTICATED_FULLY'])
def addPostAjax = { ... }

def global = { ... }

@Secured(['ROLE_USER'])
def timeline = { ... }

@Secured(['IS_AUTHENTICATED_REMEMBERED'])
def personal = { ... }
}

未找到导入 grails.plugins.springsecurity.Secured。

我正在使用 Grails 2.4.4 并在 BuildConfig.groovy 中编译':spring-security-core:2.0-RC4'。谢谢

那个教程已经有 4 年多了,从那以后发生了很多变化。尝试阅读插件文档 - 我确信还有其他一些像这样的更改会导致问题。

导入应该是 grails.plugin.springsecurity.Secured。您也可以使用 Spring Security org.springframework.security.access.annotation.Secured 注释,但插件的注释支持所​​有相同的功能和一些额外的功能,例如让您使用闭包定义规则。

不过,您不能对定义为闭包的操作使用任何一个注释。它们在 Grails 2.0+ 中仍然受支持,但现在首选方法,尽管 Grails 允许您使用闭包或操作定义操作,但该插件仅支持方法。