java - jboss Resteasy参数注入(inject)@Context

标签 java rest jboss jax-rs resteasy

我正在使用 jboss 7.1 和 resteasy 进行基于 token 的身份验证。
我正在使用 PreProcessInterceptor 来拦截请求、获取 token 、从 token 中检索用户,然后根据放置在方法上的自定义注释检查用户角色。我现在要做的是将 User 注入(inject)到如下方法中。

@Path("/doStuffWithUser")
@GET
@Requires("ADMIN") // custom annotation
public Response doStuffWithUser(@Context User user);

我知道这与 this 非常接近问题,我已尝试添加 linked github example 上提出的不同解决方案但我找不到从我的 PreProcessInterceptor 中注入(inject)用户的方法。

谢谢

最佳答案

这是我最终找到的解决方案:

PreProcessInterceptor.preProcess(..){
    ... 
    retrieve User from token
    check roles
    ...
    //add the user to the context data
    ResteasyProviderFactory.pushContext(User.class, user);

}
然后,您可以使用我在问题中使用的符号检索用户。
希望它会帮助某人。

关于java - jboss Resteasy参数注入(inject)@Context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26275771/

相关文章:

javascript - 将 JSON 从 javascript 发送到 REST 并将内容添加到数据库

python - django tastypie 中拒绝跨域 json 数据

java - 联合业务流程管理 6.2。如何直接从 Eclipse 而不是 KIE 工作台部署工作流?

grails - Grails内存泄漏-ConcurrentHashMap

java - Apache/Tomcat 上的 Log4j 不工作

java - POI 3.17 无法在 weblogic 服务器上运行

java - 如何使用 java 休息来使用 Angular 渲染 nv3d 烛台图?

java - 正则表达式匹配唯一字符的字符串

java - 如何在Java中使用正则表达式提取HTML <td>标签数据?

ssl - 在 wildfly 中配置 http 到 https 重定向