2016-03-02 87 views
-1

我正在用RestEasy設置java應用程序,並且創建了一個認證過濾器以獲取jwt令牌並從中提取用戶信息(例如用戶DTO)。我想注入一個bean(RequestScope?)來保存用戶信息,但我不知道如何做到這一點:我想爲以下,但對象爲null:Java Rest Easy WebContext注入

@Inject WebContextDto webContext; 

回答

0

你需要觸發焊接工作。我通常這樣做的方法是在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"> 

+0

非常感謝您的回答。如果我沒有錯誤,在java ee 7/8中沒有必要聲明bean.xml – duns

0

並不需要注入,只是過濾request.Just使用ContainerRequestFilter,並從報頭中的令牌。

+0

我可以在ContainerRequestFilter中獲得我的令牌,但我不知道如何將令牌數據傳遞給目標過濾器 – duns

+0

你是什麼意思是通過**目標過濾器**以任何方式訪問請求範圍,您可以使用 @Context HttpHeaders標頭 - 獲取令牌 –