【发布时间】:2015-06-28 06:54:00
【问题描述】:
我有一个 JAX-RS 服务,我希望我的所有用户都可以访问我的服务,但只有那些有权查看结果的用户。基于角色的安全性以及现有的 REALMS 和身份验证方法不符合我的要求。
例如:
- 用户针对一项 REST 服务进行身份验证,我向他发送带有他的 ID 的 JWT 令牌
- 用户请求其他资源并在每个请求中发送他的 JWT 和他的 ID
- 我检查他的用户 ID(来自 JWT),如果业务逻辑返回结果,我将其发回,否则我发送空结果集或特定 HTTP 状态
问题是:我应该在哪里检查用户 ID,在一些单独的过滤器、安全上下文或每个 REST 方法实现中? REST方法如何提供这个ID,是否可以通过ID过滤请求后在每个方法中注入securityContext?
我正在使用 GlassFish 4.1 和 Jersey JAX-RS 实现。
【问题讨论】:
标签: java security rest glassfish jax-rs