[jboss-jira] [JBoss JIRA] (ELY-1431) JSP can't be rendered with LDAP auth with Elytron
Darran Lofthouse (JIRA)
issues at jboss.org
Fri Nov 3 08:08:01 EDT 2017
[ https://issues.jboss.org/browse/ELY-1431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13485592#comment-13485592 ]
Darran Lofthouse commented on ELY-1431:
---------------------------------------
That remaining one is valid, that one means if a module is not specified ensure that the ClassLoader used for initialising the InitialDirContext is the one that was used to load the factory, i.e. the module that contains all of the Elytron classes.
The reason the other one was an issue was because we replaced the Threads context class loader with the configured or default one but then instead of restoring the applications class loader we set an entirely different one. That is how we ended up with the bizarre behaviour where the web app would break in some situations.
> JSP can't be rendered with LDAP auth with Elytron
> -------------------------------------------------
>
> Key: ELY-1431
> URL: https://issues.jboss.org/browse/ELY-1431
> Project: WildFly Elytron
> Issue Type: Bug
> Components: Realms
> Affects Versions: 1.1.6.Final
> Reporter: Yves Peter
> Assignee: Darran Lofthouse
> Fix For: 1.1.7.Final, 1.2.0.Beta9
>
> Attachments: application-roles.properties, application-users.properties, sampleapp.war.zip, standalone.xml
>
>
> When I try to access the attached war (http://localhost:8080/sampleapp/index.jsp) with the attached standalone.xml I get the exception below.
> The index.jsp contains only static html. I used ActiveDirectory as LDAP server. The WAR uses the "other" security domain, which uses LDAP for auth and roles.
> Accessing the test.html (http://localhost:8080/sampleapp/test.html) with the same content as the index.jsp works fine over LDAP.
> Changing the "default-realm" of security-domain "ApplicationDomain" from "ldap-realm" to "ApplicationRealm" (user/pw: test/test) the index.jsp gets displayed correctly and without an exception.
> Exception:
> {code}
> 11:13:06,305 ERROR [io.undertow.request] (default task-6) UT005023: Exception handling request to /sampleapp/index.jsp: org.apache.jasper.JasperException: JBWEB004062: Unable to compile class for JSP:
> JBWEB004061: An error occurred at line: 15 in the generated java file
> org.apache.jasper.runtime.HttpJspBase cannot be resolved to a type
> JBWEB004061: An error occurred at line: 16 in the generated java file
> org.apache.jasper.runtime.JspSourceDependent cannot be resolved to a type
> JBWEB004061: An error occurred at line: 17 in the generated java file
> org.apache.jasper.runtime.JspSourceImports cannot be resolved to a type
> JBWEB004061: An error occurred at line: 19 in the generated java file
> javax.servlet.jsp.JspFactory cannot be resolved to a type
> JBWEB004061: An error occurred at line: 20 in the generated java file
> javax.servlet.jsp.JspFactory cannot be resolved to a type
> JBWEB004061: An error occurred at line: 36 in the generated java file
> javax.el.ExpressionFactory cannot be resolved to a type
> JBWEB004061: An error occurred at line: 37 in the generated java file
> org.apache.tomcat.InstanceManager cannot be resolved to a type
> JBWEB004061: An error occurred at line: 52 in the generated java file
> _el_expressionfactory cannot be resolved to a variable
> JBWEB004061: An error occurred at line: 52 in the generated java file
> _jspxFactory cannot be resolved
> JBWEB004061: An error occurred at line: 52 in the generated java file
> The method getServletConfig() is undefined for the type index_jsp
> JBWEB004061: An error occurred at line: 53 in the generated java file
> _jsp_instancemanager cannot be resolved to a variable
> JBWEB004061: An error occurred at line: 53 in the generated java file
> org.apache.jasper.runtime.InstanceManagerFactory cannot be resolved to a type
> JBWEB004061: An error occurred at line: 53 in the generated java file
> The method getServletConfig() is undefined for the type index_jsp
> JBWEB004061: An error occurred at line: 59 in the generated java file
> javax.servlet.http.HttpServletRequest cannot be resolved to a type
> JBWEB004061: An error occurred at line: 59 in the generated java file
> javax.servlet.http.HttpServletResponse cannot be resolved to a type
> JBWEB004061: An error occurred at line: 60 in the generated java file
> javax.servlet.ServletException cannot be resolved to a type
> JBWEB004061: An error occurred at line: 63 in the generated java file
> javax.servlet.DispatcherType.ERROR cannot be resolved to a type
> JBWEB004061: An error occurred at line: 64 in the generated java file
> HttpServletResponse.SC_METHOD_NOT_ALLOWED cannot be resolved to a type
> JBWEB004061: An error occurred at line: 68 in the generated java file
> javax.servlet.jsp.PageContext cannot be resolved to a type
> JBWEB004061: An error occurred at line: 69 in the generated java file
> javax.servlet.http.HttpSession cannot be resolved to a type
> JBWEB004061: An error occurred at line: 70 in the generated java file
> javax.servlet.ServletContext cannot be resolved to a type
> JBWEB004061: An error occurred at line: 71 in the generated java file
> javax.servlet.ServletConfig cannot be resolved to a type
> JBWEB004061: An error occurred at line: 72 in the generated java file
> javax.servlet.jsp.JspWriter cannot be resolved to a type
> JBWEB004061: An error occurred at line: 74 in the generated java file
> javax.servlet.jsp.JspWriter cannot be resolved to a type
> JBWEB004061: An error occurred at line: 75 in the generated java file
> javax.servlet.jsp.PageContext cannot be resolved to a type
> JBWEB004061: An error occurred at line: 81 in the generated java file
> _jspxFactory cannot be resolved
> JBWEB004061: An error occurred at line: 100 in the generated java file
> javax.servlet.jsp.SkipPageException cannot be resolved to a type
> JBWEB004061: An error occurred at line: 111 in the generated java file
> ServletException cannot be resolved to a type
> JBWEB004061: An error occurred at line: 114 in the generated java file
> _jspxFactory cannot be resolved
> Stacktrace:
> at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:95)
> at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:198)
> at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:449)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:359)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
> at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:652)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:403)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:347)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
> at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
> at io.undertow.jsp.JspFileHandler.handleRequest(JspFileHandler.java:32)
> at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
> at org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.lambda$handleRequest$1(ElytronRunAsHandler.java:68)
> at org.wildfly.security.auth.server.FlexibleIdentityAssociation.runAsFunctionEx(FlexibleIdentityAssociation.java:101)
> at org.wildfly.security.auth.server.Scoped.runAsFunctionEx(Scoped.java:150)
> at org.wildfly.security.auth.server.Scoped.runAs(Scoped.java:62)
> at org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.handleRequest(ElytronRunAsHandler.java:67)
> at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
> at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
> at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:53)
> at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
> at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
> at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:59)
> at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
> at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
> at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
> at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
> at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
> at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
> at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
> at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
> at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
> at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
> at io.undertow.server.Connectors.executeRootHandler(Connectors.java:326)
> at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list