本文介紹了Spring-ws獲取用戶名和密碼的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我學習Spring-ws已經一周多一點了,我已經設置了一個簡單的Web服務。
我正在使用soapui進行測試,并在請求屬性中指定用戶名和密碼。
我的Web服務沒有安全層,也不想添加安全層。我只需要從請求中取出用戶名和密碼,就可以向另一個服務發出請求。我不希望必須在請求正文本身中指定用戶名或密碼。
我要做的就是從soapui的請求中檢索用戶名和密碼。有人知道用戶名和密碼在請求中的什么位置嗎?它們是在http報頭中還是在SOAP報頭中。SOAPUI中的SOAP頭似乎為空。
我已嘗試向終結點編寫自己的偵聽器并獲取SOAP頭,但它似乎是空的。
我也嘗試過使用SecurityContextHolder.getContext().getAuthentication();
檢索它們
但這將返回NULL。
我還嘗試從我的終結點詢問HttpServletRequest
,以查看用戶詳細信息是否在其中,但很遺憾沒有。
有人對這一領域有什么想法或知識嗎?
推薦答案
因為您的應用程序中沒有身份驗證,所以您的服務器不會提示身份驗證,并且從不使用您在soapUI中指定的參數(不包括在Http請求中)。此外,使用
SecurityContextHolder.getContext().getAuthentication()
因為您沒有身份驗證,所以沒有經過身份驗證的用戶,并且如您所說,它返回空。
如果需要用戶名/密碼才能訪問其他資源,則應將其指定為Web服務中的配置參數。
這篇關于Spring-ws獲取用戶名和密碼的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,