Grails Spring Security @Secured无法正常工作

jma*_*sSF 2 grails spring spring-security

我已经能够在我的应用程序的一个控制器中实现@Secured注释.然而,@ Secure('ROLE_ADMIN')将无法在项目中的任何其他位置工作.

它只能在我的程序控制器中的任何地方专门工作,而不是在其他地方

例如,如果我这样使用它;

@Secured('ROLE_ADMIN')
Run Code Online (Sandbox Code Playgroud)

IDE给了我; 这一行有多个标记 - Groovy:类Secured不是@Secured中的注释 - Groovy:无法解析类安全,无法找到类

我甚至尝试检查Spring Security Config文件以检查注释是否设置正确(看起来似乎是这样).有任何想法吗?请帮忙.

谢谢.

iba*_*alf 9

您可能缺少必需的导入.

在每个需要注释的控制器的顶部,使用安全的grails导入.然后,您可以根据需要使用类或方法的注释.

import grails.plugin.springsecurity.annotation.Secured

//import grails.plugins.springsecurity.Secured; - this is in older version, 
//                                                grails 2.0 and older

@Secured(['ROLE_ADMIN', 'ROLE_USER', 'ROLE_SUPERVISOR'])
class myClass {

}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

  • Spring安全插件发生了变化,注释现在是包导入grails.plugin.springsecurity.annotation.Secured (2认同)