OWASP ESAPI SecurityWrapper过滤器未在Tomcat中部署的webapp上加载 - 引发ClassNotFound异常

时间:2017-06-06 20:26:50

标签: java spring maven owasp esapi

我正在将ESAPI集成到我的java Web应用程序中。我根据ESAPI documentation

将以下内容添加到我的web.xml中
<filter>
    <filter-name>SecurityWrapperDefault</filter-name>
    <filter-class>org.owasp.filters.SecurityWrapper</filter-class>
 </filter>

我还在我的pom.xml中添加了ESAPI依赖项。当我构建和部署.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类,希望强制类加载并在web.xml中添加虚拟过滤器条目。 - 这导致应用程序无法找到虚拟过滤器类。

    公共类XSSFilter扩展了SecurityWrapper { }

  3. 如果有人知道发生了什么,请告诉我!感谢。

1 个答案:

答案 0 :(得分:3)

我检查了你正在使用的罐子。 SecurityWrapper位于包org.owasp.esapi.filters