【发布时间】:2016-06-15 20:01:35
【问题描述】:
我正在使用 RestEasy 设置一个 java 应用程序,并创建了一个身份验证过滤器来获取 jwt 令牌并从中提取用户信息(例如用户 DTO)。我想注入一个bean(RequestScope?)来保存用户信息,但我不知道该怎么做:我尝试如下,但对象为null:
@Inject WebContextDto webContext;
【问题讨论】:
我正在使用 RestEasy 设置一个 java 应用程序,并创建了一个身份验证过滤器来获取 jwt 令牌并从中提取用户信息(例如用户 DTO)。我想注入一个bean(RequestScope?)来保存用户信息,但我不知道该怎么做:我尝试如下,但对象为null:
@Inject WebContextDto webContext;
【问题讨论】:
不需要注入,过滤请求即可。使用一个ContainerRequestFilter,从header中获取token即可。
【讨论】:
您需要触发 Weld 才能使其工作。我通常这样做的方式是将 beans.xml 文件放在 src/main/webapp/WEB-INF 中(我使用 maven 你看)。 beans.xml 的内容可能像这样微不足道:
<beans
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
version="1.1"
bean-discovery-mode="all">
【讨论】: