2017-06-06 136 views
0

我正在將ESAPI集成到我的Java Web應用程序中。我根據ESAPI documentation在Tomcat中部署的webapp上未加載OWASP ESAPI SecurityWrapper過濾器 - 拋出ClassNotFound異常

<filter> 
    <filter-name>SecurityWrapperDefault</filter-name> 
    <filter-class>org.owasp.filters.SecurityWrapper</filter-class> 
</filter> 

我也加入我的pom.xml中ESAPI的依賴增加了以下我的web.xml。在構建和部署.war文件時,我可以在/ WEB-INF/lib /中看到esapi .jar文件。但是當tomcat啓動時,它會在SecurityWrapper類中拋出ClassNotFoundException。

org.apache.catalina.core.StandardContext filterStart 
SEVERE: Exception starting filter SecurityWrapperDefault 
java.lang.ClassNotFoundException: org.owasp.filters.SecurityWrapper 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892) 

事情我試圖恢復此問題:

  1. 的ESAPI-2.1.0.1.jar添加到/ lib文件夾直接只是爲了看看這個類可以發現 - 沒有運氣
  2. 編寫一個新的可以擴展ESAPI SecurityWrapper類的dummy dummy,希望該類將被強制加載並在web.xml中添加虛擬過濾條目。 - 這導致應用程序無法找到虛擬過濾器類。

    公共類XSSFilter擴展SecurityWrapper {}

如果有人有一個想法,這是怎麼回事請讓我知道!謝謝。

回答

3

我檢查了你正在使用的jar。 SecurityWrapper在包org.owasp.esapi.filters