jboss用@Context注入Resteasy参数

时间:2014-10-09 10:11:51

标签: java rest jboss jax-rs resteasy

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

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

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

由于

1 个答案:

答案 0 :(得分:12)

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

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

}

然后,您可以使用我在问题中使用的符号来检索用户。

希望它会对某人有所帮助。