【发布时间】:2019-06-28 01:09:20
【问题描述】:
我的资源不是单例,在每个新的请求中我都可以看到我的资源构造函数被调用。我在构造函数中注入@Context SecurityContext,然后将Principal 作为securityContext.getUserPrincipal()。
问题是,我在ContainerRequestFilter 中构建我的SecurityContext,在那里我从Autorization 标头内的令牌中获取用户并创建一个新的SecurityContext,但ContainerRequestFilter 运行之后资源被创建,所以在构造时securityContext.getUserPrincipal()返回null。
我想避免在我的每个资源方法中调用securityContext.getUserPrincipal(),那么有什么方法可以让ContainerRequestFilter 在资源创建之前运行?
【问题讨论】:
标签: jax-rs jersey-2.0