2017-06-06 137 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