0
我有一個Web服務(JAX-WS),一個WSDL,一個桌面應用程序客戶端和一個Weblogic 12c服務器。我試圖在Client->Web Service->Weblogic->Active Directory
之間實現基本身份驗證。從客戶端發送到Web服務時,通過將用戶名/密碼放在SOAP消息的頭部,我可以設置所有內容。手動Weblogic基本認證
Weblogic自動拉取該標題信息並根據Active Directory驗證用戶。大。但眼前的問題是thse:
- 我應該不在頭在所有發送憑據,它不進行驗證,但是允許完全匿名用戶訪問。
- 我需要發送適當的錯誤消息並防止匿名用法。
- 我應該送無效憑據它拋出客戶端上的
socket read
例外。- 我需要發回一個正確的錯誤消息;而不是讓它在客戶端上爆炸。
- 我應該送有效憑據,但無效授權;我已在每個
Stateless EJB
方法上設置了@RolesAllowed({"SomeRole"})
。它在房子的Web服務端引發安全通道異常。- 我需要以某種方式捕獲這個異常,併發送回一個正確的信息給客戶端
有沒有辦法做到這一切,而不定製WebLogic域?這感覺就像我需要手動控制Weblogic的基本認證,但是我覺得我正在步進weblogic的JAAS Login Module
--它定製了域並且我想避免。
你能舉個例子嗎? – Mister
繼承SOAPHandler中的類並覆蓋handleFault,getHeaders和handleMessage以處理SOAP錯誤,SOAP消息的標題和SOAP消息正文。 –