Thursday, 19 September 2013

Tomcat Server permission issue

Tomcat Server permission issue

I'm trying to deploy a simple Spring MVC app on a tomcat-hosting site. The
problem is that when I try to start the application I get the following
error:
19-set-2013 11.44.55 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet dispatcher
java.security.AccessControlException: access denied
(java.util.PropertyPermission * read,write)
at
java.security.AccessControlContext.checkPermission(AccessControlContext.java:374)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkPropertiesAccess(SecurityManager.java:1252)
at java.lang.System.getProperties(System.java:580)
at
org.springframework.context.support.AbstractApplicationContext.prepareBeanFactory(AbstractApplicationContext.java:467)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
at
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:427)
at
org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:341)
at
org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:307)
at
org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:270)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:302)
at
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:163)
at
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:117)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1200)
at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at it.ilz.hostingjava.valves.AccessLogValve.invoke(AccessLogValve.java:531)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
com.googlecode.psiprobe.Tomcat60AgentValve.invoke(Tomcat60AgentValve.java:30)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
it.ilz.hostingjava.valves.StartContextValve.invoke(StartContextValve.java:163)
at it.ilz.hostingjava.valves.DBLogValve.invoke(DBLogValve.java:84)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:448)
at
org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:399)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675)
at java.lang.Thread.run(Thread.java:662)
I know it's due to the policy restrictions imposed by the hosting service,
but I don't know how to solve this, how to modify the application (it's a
sample Spring MVC app you can download here) to work correctly.
Here are the permissions granted by the hosting file. Tomcat version is 6.
grant codebase "file:/home/hostingjava.it/" {
permission java.util.PropertyPermission "*", "read";
permission java.lang.RuntimePermission "getAttribute";
permission java.io.FilePermission "/home/hostingjava.it//-",
"read,write,delete";
permission java.lang.RuntimePermission
"accessClassInPackage.org.apache.tomcat.util.*";
}
Any idea?

No comments:

Post a Comment