我使用CXF和Spring開發了一個Java Web服務。 由於安全原因,我想隱藏WSDL,儘管WS仍然可用。 有沒有辦法做到這一點使用CXF? ?如何使用CXF隱藏WSDL
4
A
回答
2
你可以在web.xml中時停止從正在處理WSDL請求添加一個Servlet過濾器:
<filter>
<filter-name>wsdlFilter</filter-name>
<filter-class>com.mycompany.myWsdlFilterClass</filter-class>
</filter>
<filter-mapping>
<filter-name>wsdlFilter</filter-name>
<url-pattern>*?wsdl</url-pattern>
</filter-mapping>
的doFilter()方法是這樣的:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
ServletException {
String queryString = ((HttpServletRequest) request).getQueryString();
if(queryString!=null && queryString.toLowerCase().startsWith("wsdl")){
return; //the filter chain stops and request does not get processed
}
else{
chain.doFilter(request, response);
}
}
+0
'filter-mapping'是否匹配查詢參數?我更有可能嘗試阻止它提供GET請求(SOAP通過POST)。 – 2011-06-02 12:35:30
+0
您可以將映射設置爲攔截所有內容的*。在過濾器類中可以使用((HttpServletRequest)請求).getMethod()。如果它返回POST,則允許它通過(調用chain.doFilter()),如果不是,則停止它(通過不調用它)。 – Arnelism 2011-06-06 08:00:58
相關問題
- 1. JAX-WS如何在weblogic中隱藏WSDL?
- 2. 如何隱藏WCF上的wsdl信息?
- 3. 在JAX-WS中隱藏WSDL
- 4. 使用CXF框架不顯示WSDL
- 5. 使用CXF的WSDL中的soapaction
- 6. 如何使用CXF WSDL2Java重命名wsdl中的元素?
- 7. 使用原始wsdl在CXF中生成wsdl
- 8. CXF:附加xsd方案,使WSDL
- 9. 的Apache CXF WSDL FileNotFoundException異常
- 10. CXF不產生在WSDL
- 11. 的Apache CXF WSDL分辨率
- 12. Apache Camel CXF SOAP WS WSDL
- 13. CXF自動生成wsdl
- 14. WSDL的Apache CXF問題
- 15. 如何隱藏.NET XML Web服務中的類型繼承WSDL
- 16. 用CXF與jar捆綁wsdl wsdl2java
- 17. 如何使用WSDL
- 18. 如何使用WSDL
- 19. 如何使用ABCPDF隱藏/取消隱藏子窗體
- 20. 如何將div隱藏爲使用jQuery隱藏?
- 21. 如何使用javascript隱藏/取消隱藏div?
- 22. 如何使隱藏URL
- 23. 如何使用Jquery隱藏隱藏選項卡上的子元素,並隱藏它直至隱藏它?
- 24. 如何隱藏
- 25. 使用.prop隱藏按鈕(隱藏:真)
- 26. 如何使用JQuery隱藏元素?
- 27. 如何隱藏使用php的選項。
- 28. 我如何隱藏使用tableView註釋
- 29. 如何使用jquery隱藏父元素?
- 30. 如何使用javascript隱藏facebook文章
怎麼隱藏WSDL使它更安全? – skaffman 2010-12-16 14:49:50
WSDL記錄Web服務的合同。如果你沒有發佈它,侵略者試圖破解網絡服務更加困難。當然,它不應該是唯一的保護。 :-) – 2011-01-12 16:33:44