【发布时间】:2016-06-29 17:01:46
【问题描述】:
首先,我是 spring-boot 和 spring-security 的新手。 我已经阅读了很多文档(尤其是在http://www.spring.io),但我没有找到很多信息。我也在使用 JsonWebTokens,所以我所有的身份验证过程都基于此。我按照这个优秀的教程使用 spring-security 实现 JsonWebToken 身份验证:http://blog.jdriven.com/2014/10/stateless-spring-security-part-2-stateless-authentication/
所以这是我的问题:
我正在开发一个错误跟踪应用程序。对于每个项目,多个用户可能具有不同的角色(记者、开发人员、管理员等)。在前面的教程中,权限是整个 RESTful API 的授权,用户对整个 API 只有一个角色。但是,就我而言,我需要首先检查用户是否具有好项目的好角色(项目是通过 http 查询参数发送的),我不知道如何处理这个问题。总而言之,用户可以在一个项目上调用像 /tickets/close/{id} 这样的 URI,但不能在另一个项目上调用。
目前,我的 WebSecurityConfigurerAdapter 覆盖了 configure() 方法,例如:
http
...
.antMatchers("/admin/**").hasAuthority("ROLE_ADMIN")
.anyRequest().hasAuthority("ROLE_USER").and()
...
但在这种情况下,它显然不关心查询参数。
【问题讨论】:
标签: java spring spring-security spring-boot jwt