为什么在Grails Spring Security中@Secured会被忽略?

Dmi*_*kiy 1 grails spring-security

我正在使用Grails 2.0.3和最新的Spring Security插件来保护我的控制器.

但不知何故,控制器并不安全.

import grails.plugins.springsecurity.Secured

@Secured("ROLE_USER")
class SettingsController extends UtilController {
  def index(){
    render "should not run while not logged in"
  }
}
Run Code Online (Sandbox Code Playgroud)

当我和我没有登录时,我看到了消息.如果我注入springSecurityService,它会显示正确的登录状态(true/false),因此不会处理注释.

我试图添加"IS_AUTHENTICATED_FULLY"要求并将注释移动到方法,它没有帮助.

它可能与什么有关?

Igo*_*nov 5

@Secured注释接受roles(String[])列表,我猜你将字符串转换为字符串数组有问题.

你能试试@Secured(["ROLE_USER"])吗?


Kel*_*lly 5

你有别的东西吗?

    grails.plugins.springsecurity.securityConfigType = "Annotation"
Run Code Online (Sandbox Code Playgroud)

在配置文件中?