2012-03-03 32 views
14

मैं एक litte JavaEE परियोजना है, और मुझे लगता है मैं Maven में इस तरह ESAPI एकीकृत OWASP ESAPIएक Maven जावा ईई परियोजना में OWASP ESAPI simpleTest

साथ यह सुरक्षित करने के लिए है:

<!-- ESAPI Version 2.0.1 --> 
<dependency> 
    <groupId>org.owasp.esapi</groupId> 
    <artifactId>esapi</artifactId> 
    <version>2.0.1</version> 
</dependency> 

तो इसके बाद मैं प्रोग्रामिंग के लिए ESAPI कक्षाओं का उपयोग कर सकता हूं।

-Dorg.owasp.esapi.resources=/home/joergi/.esapi/ 

मैं भी

src/main/resources 

में ESAPI.properties और validation.properties की नकल की (मुझे यकीन है कि अगर यह काम करता है नहीं कर रहा हूँ, लेकिन मैं:

मैं भी सर्वर शुरू में .esapi फ़ोल्डर शामिल सर्वर शुरू करते समय कोई त्रुटि नहीं प्राप्त करें)

मैंने ESAPI install guide (pdf) (वास्तव में खराब दस्तावेज) देखा और ई की प्रतिलिपि बनाई XAMPLE

"अगर ESAPI सफलतापूर्वक एकीकृत और कॉन्फ़िगर किया गया परीक्षण, एक फ़ाइल EsapiIntegrationTest.java कहा जाता है बना सकते हैं और में चिपकाने के लिए:"

import org.owasp.esapi.ESAPI; 
public class EsapiTest { 
    public static void main(String[] args){ 
     System.out.println("ESAPI.accessController found: " 
           + ESAPI.accessController()); 
    } 
} 

"क्या आप इस फ़ाइल को चलाने कर सकते हैं और println आउटपुट देखें, फिर ESAPI सफलतापूर्वक स्थापित और कॉन्फ़िगर किया गया है! अब आप "

मैं" ESAPI कार्यक्षमता का उपयोग अपने वेब एप्लिकेशन को सुरक्षित करने के लिए शुरू कर सकते मेरी उदाहरण के लिए अनुवाद "यह:

@ManagedBean(name="testController") 
@RequestScoped 
public class TestController { 

    public String esapiTest(){ 

    System.out.println("ESAPI.accessController found: " 
           + ESAPI.accessController()); 

    return "ESAPI.accessController found: " + ESAPI.accessController(); 
    } 
} 

और मैं एक फ़ाइल test.xhtml है:

<?xml version="1.0" encoding="UTF-8"?> 
<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
xmlns:ui="http://java.sun.com/jsf/facelets" 
xmlns:f="http://java.sun.com/jsf/core" 
xmlns:h="http://java.sun.com/jsf/html" 
template="/WEB-INF/templates/default.xhtml"> 
<ui:define name="content"> 

    <h2>esapi test</h2> 

     <h:outputText value="#{testController.esapiTest()}" /> 

</ui:define> 
</ui:composition> 

test.xhtml दर्ज करते समय मुझे यह वास्तव में लंबी त्रुटि मिलती है (कुछ अच्छे लोगों के लिए आप इसे pastebin में भी देख सकते हैं)

03:32:00,521 Schwerwiegend [javax.enterprise.resource.webcontainer.jsf.application] (http--127.0.0.1-8080-2) Error Rendering View[/pages/test/test.xhtml]: javax.el.ELException: /pages/test/test.xhtml @10,58 value="#{testController.esapiTest()}": org.owasp.esapi.errors.ConfigurationException: java.lang.reflect.InvocationTargetException AccessController class (org.owasp.esapi.reference.DefaultAccessController) CTOR threw exception. 
    at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at javax.faces.component.UIOutput.getValue(UIOutput.java:169) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.10.Final.jar:] 
    at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:161) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java) [jbossweb-7.0.10.Final.jar:] 
    at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.0.Final.jar:7.1.0.Final] 
    at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154) [jboss-as-web-7.1.0.Final.jar:7.1.0.Final] 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.10.Final.jar:] 
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_03] 
Caused by: org.owasp.esapi.errors.ConfigurationException: java.lang.reflect.InvocationTargetException AccessController class (org.owasp.esapi.reference.DefaultAccessController) CTOR threw exception. 
    at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:129) [esapi-2.0.1.jar:2.0.1] 
    at org.owasp.esapi.ESAPI.accessController(ESAPI.java:85) [esapi-2.0.1.jar:2.0.1] 
    at de.liedl.bachelor.controller.TestController.esapiTest(TestController.java:45) [classe:] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_03] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_03] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_03] 
    at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_03] 
    at javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:735) [jboss-el-api_2.2_spec-1.0.0.Final.jar:1.0.0.Final] 
    at javax.el.BeanELResolver.invoke(BeanELResolver.java:467) [jboss-el-api_2.2_spec-1.0.0.Final.jar:1.0.0.Final] 
    at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:246) [jboss-el-api_2.2_spec-1.0.0.Final.jar:1.0.0.Final] 
    at org.apache.el.parser.AstValue.getValue(AstValue.java:159) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189) [jbossweb-7.0.10.Final.jar:] 
    at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31] 
    at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    ... 35 more 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_03] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_03] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_03] 
    at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_03] 
    at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:86) [esapi-2.0.1.jar:2.0.1] 
    ... 48 more 
Caused by: org.owasp.esapi.errors.ConfigurationException: java.lang.ClassNotFoundException: org.owasp.esapi.reference.Log4JLogFactory2 from [Module "deployment.bachelor_demo.war:main" from Service Module Loader] LogFactory class (org.owasp.esapi.reference.Log4JLogFactory2) must be in class path. 
    at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:108) [esapi-2.0.1.jar:2.0.1] 
    at org.owasp.esapi.ESAPI.logFactory(ESAPI.java:137) [esapi-2.0.1.jar:2.0.1] 
    at org.owasp.esapi.ESAPI.getLogger(ESAPI.java:154) [esapi-2.0.1.jar:2.0.1] 
    at org.owasp.esapi.reference.DefaultAccessController.<init>(DefaultAccessController.java:29) [esapi-2.0.1.jar:2.0.1] 
    at org.owasp.esapi.reference.DefaultAccessController.getInstance(DefaultAccessController.java:22) [esapi-2.0.1.jar:2.0.1] 
    ... 53 more 
Caused by: java.lang.ClassNotFoundException: org.owasp.esapi.reference.Log4JLogFactory2 from [Module "deployment.bachelor_demo.war:main" from Service Module Loader] 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) 
    at java.lang.Class.forName0(Native Method) [rt.jar:1.7.0_03] 
    at java.lang.Class.forName(Class.java:186) [rt.jar:1.7.0_03] 
    at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:74) [esapi-2.0.1.jar:2.0.1] 
    ... 57 more 

03:32:00,574 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/bachelor_demo].[FacesServlet]] (http--127.0.0.1-8080-2) Servlet.service() for servlet FacesServlet threw exception: java.lang.ClassNotFoundException: org.owasp.esapi.reference.Log4JLogFactory2 from [Module "deployment.bachelor_demo.war:main" from Service Module Loader] 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) 
    at java.lang.Class.forName0(Native Method) [rt.jar:1.7.0_03] 
    at java.lang.Class.forName(Class.java:186) [rt.jar:1.7.0_03] 
    at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:74) [esapi-2.0.1.jar:2.0.1] 
    at org.owasp.esapi.ESAPI.logFactory(ESAPI.java:137) [esapi-2.0.1.jar:2.0.1] 
    at org.owasp.esapi.ESAPI.getLogger(ESAPI.java:154) [esapi-2.0.1.jar:2.0.1] 
    at org.owasp.esapi.reference.DefaultAccessController.<init>(DefaultAccessController.java:29) [esapi-2.0.1.jar:2.0.1] 
    at org.owasp.esapi.reference.DefaultAccessController.getInstance(DefaultAccessController.java:22) [esapi-2.0.1.jar:2.0.1] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_03] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_03] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_03] 
    at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_03] 
    at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:86) [esapi-2.0.1.jar:2.0.1] 
    at org.owasp.esapi.ESAPI.accessController(ESAPI.java:85) [esapi-2.0.1.jar:2.0.1] 
    at de.liedl.bachelor.controller.TestController.esapiTest(TestController.java:45) [classe:] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_03] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_03] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_03] 
    at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_03] 
    at javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:735) [jboss-el-api_2.2_spec-1.0.0.Final.jar:1.0.0.Final] 
    at javax.el.BeanELResolver.invoke(BeanELResolver.java:467) [jboss-el-api_2.2_spec-1.0.0.Final.jar:1.0.0.Final] 
    at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:246) [jboss-el-api_2.2_spec-1.0.0.Final.jar:1.0.0.Final] 
    at org.apache.el.parser.AstValue.getValue(AstValue.java:159) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189) [jbossweb-7.0.10.Final.jar:] 
    at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31] 
    at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at javax.faces.component.UIOutput.getValue(UIOutput.java:169) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.10.Final.jar:] 
    at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:161) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java) [jbossweb-7.0.10.Final.jar:] 
    at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.0.Final.jar:7.1.0.Final] 
    at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154) [jboss-as-web-7.1.0.Final.jar:7.1.0.Final] 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.10.Final.jar:] 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.10.Final.jar:] 
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_03] 

मुझे पता ESAPI Swingset Demo - और यह मेरा विन्यास

में चल रहा है मैं 2 प्रश्न हैं:
मेरी Maven और अपने सर्वर शुरू विन्यास सही है?
क्योंकि त्रुटि ESAPI ESAPI लॉगर कार्यों नहीं मिल सकता है की तरह लग रहा ....

और
तो यह और भी सब पर मेरी सेटअप में साधारण परीक्षण कोड-स्निपेट का उपयोग करना संभव है?

(पी।भी Maven के बिना और हाल ही में डाउनलोड जार सहित के साथ यह करने की कोशिश की है - लेकिन अपने काम नहीं कर रहा)

मैं की तरह कुछ याद आती है:
(यह, swingset डेमो उदाहरण से है नहीं अपने ही परियोजना से)

Seeking ESAPI.properties 
    Not found in 'org.owasp.esapi.resources' directory or file not readable: /home/joergi/dev/projects/esapi_demo_1punkt0/ESAPI.properties 
    Not found in SystemResource Directory/resourceDirectory: .esapi/ESAPI.properties 
    Not found in SystemResource Directory/.esapi: .esapi/ESAPI.properties 
    Not found in SystemResource Directory: ESAPI.properties 
    Found in 'user.home' directory: /home/joergi/.esapi/ESAPI.properties 
Loaded 'ESAPI.properties' properties file 
Seeking validation.properties 
    Not found in 'org.owasp.esapi.resources' directory or file not readable: /home/joergi/dev/projects/esapi_demo_1punkt0/validation.properties 
    Not found in SystemResource Directory/resourceDirectory: .esapi/validation.properties 
    Not found in SystemResource Directory/.esapi: .esapi/validation.properties 
    Not found in SystemResource Directory: validation.properties 
    Found in 'user.home' directory: /home/joergi/.esapi/validation.properties 
Loaded 'validation.properties' properties file 
Seeking ESAPI_logging_file 
    Not found in 'org.owasp.esapi.resources' directory or file not readable: /home/joergi/dev/projects/esapi_demo_1punkt0/ESAPI_logging_file 
    Not found in SystemResource Directory/resourceDirectory: .esapi/ESAPI_logging_file 
    Not found in SystemResource Directory/.esapi: .esapi/ESAPI_logging_file 
    Not found in SystemResource Directory: ESAPI_logging_file 
    Found in 'user.home' directory: /home/joergi/.esapi/ESAPI_logging_file 

उम्मीद है कि कोई मदद कर सकता है!

उत्तर

5

आपके क्लासपाथ में लॉग 4 जे लाइब्रेरी के कई संस्करण हैं, संभवतः आपके एप्लिकेशन द्वारा उपयोग की जाने वाली किसी अन्य लाइब्रेरी से डाउनस्ट्रीम निर्भरता के परिणामस्वरूप। अपनी निर्भरता वृक्ष की जांच जहां डुप्लिकेट पुस्तकालय लोड किया जा रहा है यह पता लगाने के लिए और अपने pom.xml में उसे निकाल दें और

mvn dependency:tree 

यह आपको आपके आवेदन के लिए निर्भरता वृक्ष दिखाई देगा।

<exclusion> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
</exclusion> 

अपने pom.xml में अपराधी निर्भरता के लिए यह बहिष्करण जोड़ें और सभी को दुनिया के साथ सही होना चाहिए।

+0

बहुत बहुत धन्यवाद !!! इससे मुझे बहुत मदद मिली ... अब सब कुछ काम कर रहा है ... धन्यवाद क्रिस! – Joerg

1

मैं बस इतना कह सकता हूं कि esapi सही ढंग से स्थापित है। Esapi बहुत उत्पादन करने के लिए प्यार करता है लेकिन दिलचस्प भागों हैं:

Found in 'user.home' directory: /home/joergi/.esapi/ESAPI.properties 
Loaded 'ESAPI.properties' properties file 
Found in 'user.home' directory: /home/joergi/.esapi/validation.properties 
Loaded 'validation.properties' properties file 
Found in 'user.home' directory: /home/joergi/.esapi/ESAPI_logging_file 

मुझे लगता है कि आप अपनी परियोजना में निर्भरता खो रहे हैं। ढेर का पता लगाने से निम्न पंक्ति की जाँच करें:

Caused by: java.lang.ClassNotFoundException: org.owasp.esapi.reference.Log4JLogFactory2 from [Module "deployment.bachelor_demo.war:main" from Service Module Loader] 

यह गलत वर्ग लोडर में हो सकता है या आप esapi.properties फाइल में अपनी परियोजना के लिए गलत लकड़हारा कॉन्फ़िगर किया गया हो सकता है।

[संपादित करें]

ESPAI.properties में दाखिल वहाँ निम्नलिखित पंक्तियां हैं:

# Log4JFactory Requires log4j.xml or log4j.properties in classpath - http://www.laliluna.de/log4j-tutorial.html 
ESAPI.Logger=org.owasp.esapi.reference.Log4JLogFactory 
#ESAPI.Logger=org.owasp.esapi.reference.JavaLogFactory 

मुझे लगता है कि इन आपके मामले में चुप महत्वपूर्ण हैं।

इसके अलावा, क्लास Log4JLogFactory esapi jar में मौजूद है इसलिए वास्तव में कोई समस्या नहीं होनी चाहिए।

+0

हाय @ टॉम, मैंने लिखा: मुझे कुछ पसंद है (जो सामान आप उद्धृत करते हैं) यह स्विंगसेट डेमो उदाहरण से है - मुझे अपनी परियोजना में ऐसा कुछ याद आती है ... यही कारण है कि मुझे नहीं पता कि यह क्यों है सही ढंग से कार्यान्वित – Joerg

+0

लेकिन अगर मैं ईएसएपीआई को शामिल करता हूं जैसा कि मैंने उपरोक्त लिखा है, तो इसे शामिल किया जाना चाहिए, या? – Joerg

+0

क्या आपने इसे अपनी सेटिंग के साथ चलाने योग्य प्रबंधित किया है? – Joerg

5

मैंने इस समस्या को ठीक करने की कोशिश कर एक दिन बर्बाद कर दिया ClassNotFoundException Log4JLogFactory2। यह देखने का प्रयास किया कि क्या कोई लॉग 4j डुप्लिकेट निर्भरताएं थीं क्योंकि टॉप रेटेड स्वीकृत उत्तर सुझाए गए थे लेकिन इसका कोई फायदा नहीं हुआ।

अंत में मुझे एहसास हुआ ESAPI पहली और एकमात्र अगर इसकी वहाँ नहीं इसे वापस classpath के esapi फ़ोल्डर में गिर जाता है $HOME/.esapi/ फ़ोल्डर में विन्यास के लिए लग रहा है। मेरे मामले में समस्या मैं सिर्फ उदाहरण Swingset application तैनात था और अपने README में वर्णित के रूप मैं अपने घर फ़ोल्डर में इसके विन्यास से अधिक नकल की थी गया था, कि विन्यास में इस हमलावर लाइन

ESAPI.Logger=org.owasp.esapi.reference.Log4JLogFactory2 

तब मैं अपने एप्लिकेशन मान लिया था अपने क्लासपाथ के esapi फ़ोल्डर से विन्यास ले जाएगा। Log4JLogFactory2 डेमो कोड बेस भूत में मौजूद है कि मैं पूरे समय का पीछा कर रहा हूं।

+1

+1, मैं एक ही समस्या का सामना कर रहा था। यहाँ एक [कड़ी] (http://owasp-esapi-swingset-interactive.googlecode.com/svn-history/r6/trunk/SwingSet/WebContent/WEB-INF/jsp/LoggingTutorial.jsp) एक swingset पृष्ठ पर है कि इस उत्तर से संबंधित विन्यास सेटिंग्स पर चर्चा करता है। "कॉन्फ़िगरेशन" पर नीचे स्क्रॉल करें। – medokr

+0

यह [ESAPI.properties फ़ाइल का उत्पादन संस्करण] उपयोग करने के लिए फायदेमंद हो सकता है (http://owasp-esapi-java.googlecode.com/svn/trunk/configuration/esapi/ESAPI.properties) यदि आप अपने वेब विकसित कर रहे हैं, तो एक उदाहरण के रूप में स्विंगसेट का उपयोग करते समय ऐप। – medokr

संबंधित मुद्दे