首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Grails的安全访问约束组合

使用Grails的安全访问约束组合
EN

Stack Overflow用户
提问于 2014-12-22 11:25:45
回答 2查看 48关注 0票数 0

我使用的是spring-security-core + spring-security-rest,在大多数端点中,我使用的是Config.groovy中的URL静态规则。

例如:

代码语言:javascript
复制
'/app/clientdata/**':              ['IS_AUTHENTICATED_FULLY'],
'/app/opendata/**':                ['permitAll'],    
'/app/secretdata/**':              ['hasRole("ADMIN_ROLE")'],

然而,对于某些端点,我对HTTP方法的限制感兴趣(get,post,.)或者用目标法。

问题是..。我是否应该/可以混合不同的安全方法(url静态规则+基于类的注释,基于方法)?

是否有任何选项允许我限制基于HTTP方法.例如,有些方法有一个角色,另一些方法有其他角色?

谢谢,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-22 16:22:09

而且,正如我所经历的,完全有可能混合这两种不同的方式,这样您就可以定义一个'/app/opendata/**':'permitAll‘,然后使用@Secured("ROLE_XXX")在对象方法级别定义一个限制性更强的约束。

票数 0
EN

Stack Overflow用户

发布于 2014-12-22 15:03:38

是的,但它是新的,还没有记录在案。不是使用像当前样式那样的简单映射,其中键是模式,值是角色和表达式的列表,每一行都是一个带有三个键的映射;patternaccesshttpMethod,对每一行都是可选的httpMethod。所以看起来就像

代码语言:javascript
复制
[
   [pattern: '/app/clientdata/**', access: ['IS_AUTHENTICATED_FULLY'], httpMethod: 'GET'],
   [pattern: '/app/opendata/**', access: ['permitAll']],
   [pattern: '/app/secretdata/**', access: ['hasRole("ADMIN_ROLE")'], httpMethod: 'POST']
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27601766

复制
相关文章

相似问题

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