Grails 2.4.4 中的 Spring Security 插件问题
Posted
技术标签:
【中文标题】Grails 2.4.4 中的 Spring Security 插件问题【英文标题】:Spring Security Plugin Issue in Grails 2.4.4 【发布时间】:2015-03-29 11:34:56 【问题描述】:我正在关注 Spring Security Authentication 这个教程:
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'。谢谢。
【问题讨论】:
你可以直接使用spring security的import org.springframework.security.access.annotation.Secured
。
【参考方案1】:
该教程已有 4 年多的历史了,从那时起发生了很多变化。尝试阅读插件文档 - 我确信还有其他一些类似的更改会导致问题。
导入应该是grails.plugin.springsecurity.Secured
。您也可以使用 Spring Security org.springframework.security.access.annotation.Secured
注释,但插件的注释支持所有相同的功能和一些额外的功能,例如让你用闭包来定义规则。
你不能在定义为闭包的动作上使用任何一个注解。 Grails 2.0+ 仍然支持它们,但现在首选方法,虽然 Grails 允许您使用闭包或操作定义操作,但该插件仅支持方法。
【讨论】:
以上是关于Grails 2.4.4 中的 Spring Security 插件问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spring Security 插件从 Grails 应用程序注销时获得 HTTP 状态 405