我已成功设置我的 Grails 应用程序来验证用户身份。
我在 UrlMappings.groovy 中使用 URL 参数映射控制器方法参数:
"/$source/owner/$ownerId/show"(controller:"myController", action: "show", method: "GET")
如何在 @Secured 闭包中获取 $source 和 $ownerId 的值?
我的控制器方法如下所示:
@Secured(closure = {
//null
def testSource = params.source
//also null
def testOwnerId = params.ownerId
//null
def owner = request.ownerId
//null
def owner2 = request.getParameter('ownerId')
//contains only query string params
def grailsParams = request['org.codehaus.groovy.grails.WEB_REQUEST']?.params
return true
})
def show(String source, String ownerId) {
...
}
我如何获得这些值?我在这里做错了什么?
我认为这篇文章会提供一个解决方案,但那里给出的答案对我不起作用:
是否可以破解 spring-security-core 插件 @Secured 注释以引用给控制器的请求参数?
我正在使用以下 grails 和插件版本:
grails 2.5.1
compile ":spring-security-core:2.0-RC5"
compile ":spring-security-rest:1.5.3", {
excludes 'com.fasterxml.jackson.core:jackson-databind:'
}