2012-07-30 164 views
2

我需要從HttpServletRequest獲取用戶名和密碼來處理基本認證。我所擁有的是CXF端點和基本auth攔截器。該HttpServletRequest我得到這樣的:從HttpServletRequest獲取用戶名和密碼

public void handleMessage(Message message)    
     throws Fault { 
    HttpServletRequest request = (HttpServletRequest) message.get(AbstractHTTPDestination.HTTP_REQUEST); 

} 

當我試着調試代碼,我看到:

request.getAuthType() is null 
request.getRemoteUser() is null 

的用戶名和密碼,我從肥皂UI的請求發送。所以問題是我如何能夠從請求中獲取用戶名和密碼?

編輯

標題是這樣的:

POST http://localhost:8011/GradIrelandUserRegistration HTTP/1.1 
Accept-Encoding: gzip,deflate 
Content-Type: text/xml;charset=UTF-8 
SOAPAction: "" 
Authorization: Basic UGF1bGl1czpQYXVsaXVzMTIz 
Content-Length: 3170 
Host: localhost:8011 
Connection: Keep-Alive 
User-Agent: Apache-HttpClient/4.1.1 (java 1.5) 

他們說,授權是基本的,但爲什麼叫request.getAuthType()被返回null?

+0

您是否檢查過標題或參數? – heikkim 2012-07-30 08:31:58

+0

我編輯了問題 – 2012-07-30 08:34:52

回答

2

我能弄明白我的自我。在肥皂UI我需要身份驗證類型更改爲:

Preemptive 

,然後使用:

AuthorizationPolicy policy = (AuthorizationPolicy) message.get(AuthorizationPolicy.class.getName()); 

從政策目標,現在我能夠獲得用戶名和密碼。

+0

您應該接受您的答案。 :) – 2012-07-30 09:03:27

+0

我會盡我所能。僅在兩天:d – 2012-07-30 09:42:18

+0

讀這對於爲什麼:HTTP://meta.stackexchange.com/questions/6044/why-must-i-wait-2-days-before-accepting-my-own-answer ..: d – 2012-07-30 10:00:57

相關問題