我正在用RestEasy設置java應用程序,並且創建了一個認證過濾器以獲取jwt令牌並從中提取用戶信息(例如用戶DTO)。我想注入一個bean(RequestScope?)來保存用戶信息,但我不知道如何做到這一點:我想爲以下,但對象爲null:Java Rest Easy WebContext注入
@Inject WebContextDto webContext;
我正在用RestEasy設置java應用程序,並且創建了一個認證過濾器以獲取jwt令牌並從中提取用戶信息(例如用戶DTO)。我想注入一個bean(RequestScope?)來保存用戶信息,但我不知道如何做到這一點:我想爲以下,但對象爲null:Java Rest Easy WebContext注入
@Inject WebContextDto webContext;
你需要觸發焊接工作。我通常這樣做的方法是在src/main/webapp/WEB-INF中放入一個beans.xml文件(我使用的是你看到的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">
並不需要注入,只是過濾request.Just使用ContainerRequestFilter,並從報頭中的令牌。
我可以在ContainerRequestFilter中獲得我的令牌,但我不知道如何將令牌數據傳遞給目標過濾器 – duns
你是什麼意思是通過**目標過濾器**以任何方式訪問請求範圍,您可以使用 @Context HttpHeaders標頭 - 獲取令牌 –
非常感謝您的回答。如果我沒有錯誤,在java ee 7/8中沒有必要聲明bean.xml – duns