java.security.AccessControlException

My application need to read a file (XML). When make the deploy by SUN ONE end try run at the browser (localhost:8000) happen the following exception:

p.s.: I don't have problemat at time debug.

java.security.AccessControlException: access denied (java.io.FilePermission D:\Documentos\Projetos\gerPro\Site\src\web\WEB-INF\files\Site.xml read)

at java.security.AccessControlContext.checkPermission(AccessControlContext.java:27 0)

at java.security.AccessController.checkPermission(AccessController.java:401)

at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)

at java.lang.SecurityManager.checkRead(SecurityManager.java:887)

at java.io.File.isDirectory(File.java:698)

at org.jdom.input.SAXBuilder.fileToURL(SAXBuilder.java:792)

at org.jdom.input.SAXBuilder.build(SAXBuilder.java:688)

at ctlServlet.getFromFile(ctlServlet.java:171)

at ctlServlet.processRequest(ctlServlet.java:67)

at ctlServlet.doPost(ctlServlet.java:128)

at ctlServlet.doGet(ctlServlet.java:112)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil terChain.java:247)

at org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain .java:197)

at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.ja va:176)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain .java:172)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 243)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 201)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.jav a:170)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:368)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:17 4)

at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:101 2)

at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)

at java.lang.Thread.run(Thread.java:536)

[4095 byte] By [704221] at [2007-11-25 9:46:14]
# 1

From the top of the stack trace:

Java.security.AccessControlException: access denied (java.io.FilePermission D:\Documentos\Projetos\gerPro\Site\src\web\WEB-INF\files\Site.xml read)

at java.security.AccessControlContext.checkPermission(AccessControlContext.java:27 0)

1) First check your Windows file access permissions on the entire directory path.

2) Is this an applet? Applets have restricted access permissions by default and need to be "digitally signed" for greater access. See the documentation for javakey which is packaged with the JDK and also poke around in Sun's tutorial. If I recall correctly, they have a simple example.

3) *.policy file for your application: You may need to modify this file with a statement that looks something like this:

grant codeBase "file:${java.home}/lib/ext/jaas.jar" {

permission java.security.AllPermission;

};

Se the below URL for more information on Java Security:

http://java.sun.com/docs/books/tutorial/security1.2/index.html

utsukushii at 2007-7-1 18:54:38 > top of Java-index,Development Tools,Java Tools...