在Tomcat中部署的webapp上未加载OWASP ESAPI SecurityWrapper过滤器 - 抛出ClassNotFound异常
问题描述:
我正在将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)
事情我试图恢复此问题:
- 的ESAPI-2.1.0.1.jar添加到/ lib文件夹直接只是为了看看这个类可以发现 - 没有运气
-
编写一个新的可以扩展ESAPI SecurityWrapper类的dummy dummy,希望该类将被强制加载并在web.xml中添加虚拟过滤条目。 - 这导致应用程序无法找到虚拟过滤器类。
公共类XSSFilter扩展SecurityWrapper {}
如果有人有一个想法,这是怎么回事请让我知道!谢谢。
答
我检查了你正在使用的jar。 SecurityWrapper在包org.owasp.esapi.filters