2010-07-29 32 views
1

我想從客戶端證書訪問「subjectDN」,即從證書中獲取用戶數據(通用名稱,電子郵件等),但對認證部分不感興趣。如何在沒有Servlet的情況下在平靜的Web服務(Java和Jersey)中獲取客戶端證書?

如果我會用一個servlet,我知道我可以閱讀使用的東西在請求頭中發送證書就像

(X509Certificate[])request.getAttribute("javax.servlet.request.X509Certificate"); 

然而,在我的RESTful Web服務我不使用的Servlet - 所以我沒有權限訪問請求頭。寧靜的Web服務是使用Jersey框架以Java編寫的。我的GlassFish應用程序服務器已針對SSL進行了正確配置。

有關如何在不使用Servlet的情況下實現此目的的想法?任何務實的替代方法?

回答

3

的球衣,你可以嘗試@Context HttpServletRequest請求作爲參數傳遞給資源的方法:

@GET 
public Response getSomeView(@Context HttpServletRequest request){ 
    [here you have access to the request object] 
} 

希望幫助....

+0

太感謝了 - 僅此而已。 – 2010-08-05 10:18:05

相關問題