首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能黑入弹簧安全核心插件@Secured注释,以便能够引用给控制器的请求参数?

是否有可能黑入弹簧安全核心插件@Secured注释,以便能够引用给控制器的请求参数?
EN

Stack Overflow用户
提问于 2014-10-30 16:19:30
回答 1查看 742关注 0票数 1

我正在使用Grails 2.3.3spring-security-core:2.0-RC4插件。

我试图通过保护控制器操作来保护它,这取决于接受参数的服务的方法调用的结果。这个参数应该是请求参数中的某个参数。

我希望能够做到以下几点:

代码语言:javascript
复制
@Secured("@mySecurityService.myCustomCheck(params.id)")
def myAction(){
    //do some things
}

我设法做到了以下几点:

代码语言:javascript
复制
@Secured("@mySecurityService.myCustomCheck()")

但是现在我不知道如何访问发送给控制器的请求参数。

在体系结构上,是否有可能在params表示法中引用@Secured变量?

PS:我知道你会让我使用spring-security-acl插件。我的问题是,它还增加了一些我认为我不需要的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-30 21:08:05

在2.0中,您可以使用闭包作为注释的检查;在docs中有一个简短的写和示例:https://grails-plugins.github.io/grails-spring-security-core/v2/guide/newInV2.html

你可以用这样的方式来表达你的例子:

代码语言:javascript
复制
@Secured(closure={
    ctx.mySecurityService.myCustomCheck(
       request.getParameter('id'))
})

返回true以允许访问。

请注意,ApplicationContext作为ctx变量可用,请求作为request可用;除了使用SpEL时可用的其他变量和方法(有关详细信息,请参阅Security )。params不可用,但您可以使用request.getParameter访问值

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26658172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档