incubator-adffaces-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fabio C. Rispoli" <frisp...@gmail.com>
Subject Re: Problems running ADF Faces in Tomcat with security manager enabled
Date Wed, 10 May 2006 20:39:42 GMT
Adam,

We didn't succeed in deplying my ADF Faces application to Tomcat in a shared
JVM environment. We have faced different exceptions when we tried to run it
and none gave us a solid clue on how to solve the problems.

On of them, pointed out by my web host administrator, is that ADF tries to
write to Tomcat's work directory. Is that an expected behavior? When the
permission to write to that directory was granted, the following exception
arose:

java.lang.IllegalArgumentException: context URI for imagesCache ends with a
slash
	
oracle.adfinternal.view.faces.share.config.ConfigurationImpl.getURI(Configur
ationImpl.java:102)
	
oracle.adfinternal.view.faces.ui.laf.base.BaseLafUtils.getConfiguredURL(Base
LafUtils.java:607)
	
oracle.adfinternal.view.faces.ui.laf.base.LafIconProvider.getCacheImageURI(L
afIconProvider.java:47)
	
oracle.adfinternal.view.faces.ui.laf.base.desktop.HtmlLafRenderer.writeCache
ImageURI(HtmlLafRenderer.java:253)
	
oracle.adfinternal.view.faces.ui.laf.base.desktop.GeneratedImageRenderer.ren
derImage(GeneratedImageRenderer.java:143)
	
oracle.adfinternal.view.faces.ui.laf.base.desktop.GeneratedImageRenderer.ren
derImage(GeneratedImageRenderer.java:88)
	
oracle.adfinternal.view.faces.ui.laf.base.desktop.ButtonRenderer.renderImage
Content(ButtonRenderer.java:146)
	
oracle.adfinternal.view.faces.ui.laf.base.desktop.ButtonRenderer.renderConte
nt(ButtonRenderer.java:105)
	
oracle.adfinternal.view.faces.ui.BaseRenderer.render(BaseRenderer.java:81)
	
oracle.adfinternal.view.faces.ui.laf.base.xhtml.XhtmlLafRenderer.render(Xhtm
lLafRenderer.java:66)
	
oracle.adfinternal.view.faces.ui.laf.base.desktop.ButtonRenderer.render(Butt
onRenderer.java:187)
	
oracle.adfinternal.view.faces.uinode.UIXComponentUINode.renderInternal(UIXCo
mponentUINode.java:177)
	
oracle.adfinternal.view.faces.uinode.UINodeRendererBase.encodeEnd(UINodeRend
ererBase.java:53)
	
oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.
java:624)
	
oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeChild(CoreRe
nderer.java:236)
	
oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelHorizontalRenderer._
encodeChild(PanelHorizontalRenderer.java:158)
	
oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelHorizontalRenderer._
encodeChildren(PanelHorizontalRenderer.java:139)
	
oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelHorizontalRenderer.e
ncodeAll(PanelHorizontalRenderer.java:62)
	
oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRend
erer.java:159)
	
oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.
java:624)
	
oracle.adfinternal.view.faces.uinode.UIComponentUINode._renderComponent(UICo
mponentUINode.java:317)
	
oracle.adfinternal.view.faces.uinode.UIComponentUINode.render(UIComponentUIN
ode.java:262)
	
oracle.adfinternal.view.faces.uinode.UIComponentUINode.render(UIComponentUIN
ode.java:239)
	
oracle.adfinternal.view.faces.ui.BaseRenderer.renderChild(BaseRenderer.java:
412)
	
oracle.adfinternal.view.faces.ui.BaseRenderer.renderIndexedChild(BaseRendere
r.java:330)
	
oracle.adfinternal.view.faces.ui.BaseRenderer.renderIndexedChild(BaseRendere
r.java:222)
	
oracle.adfinternal.view.faces.ui.BaseRenderer.renderContent(BaseRenderer.jav
a:129)
	
oracle.adfinternal.view.faces.ui.BaseRenderer.render(BaseRenderer.java:81)
	
oracle.adfinternal.view.faces.ui.laf.base.xhtml.XhtmlLafRenderer.render(Xhtm
lLafRenderer.java:66)
	
oracle.adfinternal.view.faces.uinode.UIXComponentUINode.renderInternal(UIXCo
mponentUINode.java:177)
	
oracle.adfinternal.view.faces.uinode.UINodeRendererBase.encodeEnd(UINodeRend
ererBase.java:53)
	
oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.
java:624)
	
oracle.adfinternal.view.faces.renderkit.RenderUtils.encodeRecursive(RenderUt
ils.java:54)
	
oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeChild(CoreRe
nderer.java:232)
	
oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeAllChildren(
CoreRenderer.java:255)
	
oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.
renderContent(PanelPartialRootRenderer.java:65)
	
oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.renderConten
t(BodyRenderer.java:117)
	
oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.
encodeAll(PanelPartialRootRenderer.java:147)
	
oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.encodeAll(Bo
dyRenderer.java:60)
	
oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.delegateRenderer(C
oreRenderer.java:271)
	
oracle.adfinternal.view.faces.renderkit.core.xhtml.DocumentRenderer.encodeAl
l(DocumentRenderer.java:60)
	
oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRend
erer.java:159)
	
oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.
java:624)
	javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:623)
	javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:546)
	
oracle.adf.view.faces.webapp.UIXComponentTag.doEndTag(UIXComponentTag.java:1
00)
	
org.apache.jsp.login_jsp._jspx_meth_af_document_0(login_jsp.java:173)
	org.apache.jsp.login_jsp._jspx_meth_f_view_0(login_jsp.java:142)
	org.apache.jsp.login_jsp._jspService(login_jsp.java:93)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
32)
	
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	java.lang.reflect.Method.invoke(Method.java:585)
	
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
	java.security.AccessController.doPrivileged(Native Method)
	javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
	
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
	
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:16
1)
	java.security.AccessController.doPrivileged(Native Method)
	java.security.AccessController.doPrivileged(Native Method)
	
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:
322)
	
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:13
0)
	
oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHan
dlerImpl.java:159)
	
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java
:87)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	java.lang.reflect.Method.invoke(Method.java:585)
	
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
	java.security.AccessController.doPrivileged(Native Method)
	javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
	
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
	
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:16
1)
	java.security.AccessController.doPrivileged(Native Method)
	
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfF
acesFilterImpl.java:279)
	
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFac
esFilterImpl.java:248)
	
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFil
terImpl.java:172)
	
oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:80)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	java.lang.reflect.Method.invoke(Method.java:585)
	
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
	java.security.AccessController.doPrivileged(Native Method)
	javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
	
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
	
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:21
7)

When that access was denied, the components were rendered, but with no
look-and-feel definitions taken under consideration, and the forms didn't
work (clicked a buttom and nothing happened).

It is worth mentioning that the application runs correctly in my private
environment, under Tomcat with the security manager disabled.

I don't have much knowledge on Tomcat's security policy, so it is difficult
to give more details. What I've been told by the web host administrator
about security permissions is that "beyond what we normally give to get it
running", my app have been granted:

permission java.io.FilePermission
"${catalina.home}/work/Catalina/******.com.br/_/-", "read,write,delete";


permission java.lang.RuntimePermission "getClassLoader";

Thank you.


Fábio C. Rispoli
 
 


-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
 


Mime
View raw message