Hi, I'd tried to solve the problem by myself and got it a little further...
When I looked at the tomcat console more closely, I realized that occasionally the speaker beeped at startup. Looking at the console output, there were several access-denied messages for some of the jar's deployed with my webapp. So I added those into my catalina.policy and gave them for a first try an AllPermission. With these settings my webapp came up with a SecurityManager! But there is a function in my webapp that does an export into a PDF file, which doesn't work. This function tries to write a file inside a directory in my webapp-folder. It does this like this: InputStream reportInStream = this.getClass().getResourceAsStream( "/reports/" + reportFile + ".jasper"); if (reportInStream == null) { throw new Exception("Cannot read report file /reports/" + reportFile + ".jasper as resource stream!"); } ByteArrayOutputStream reportOutStream = new ByteArrayOutputStream(); File tmpFile = new File(targetPath); tmpFile.deleteOnExit(); FileOutputStream pdfOutStream = new FileOutputStream(tmpFile); if (pdfOutStream == null) { throw new Exception("Cannot open pdf file " + targetPath + "!"); } JasperFillManager.fillReportToStream(reportInStream, reportOutStream, reportParameter, reportData); JasperExportManager.exportReportToPdfStream(new ByteArrayInputStream( reportOutStream.toByteArray()), pdfOutStream); But an AccessControlException is thrown: java.security.AccessControlException: access denied (java.io.FilePermission E:\Java\apache-tomcat-5.5.25\webapps\tmap\cache\ToolbarServer.print_0_310DE731BB2FFF78B76102A1A517DD15_JSP_PegaViewPrint.pdf delete) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264) at java.security.AccessController.checkPermission(AccessController.java:427) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at java.lang.SecurityManager.checkDelete(SecurityManager.java:990) at java.io.File.deleteOnExit(File.java:901) at de.tmobile.pegaview.server.print.PrintServerBean.createReport(PrintServerBean.java:250) at de.tmobile.pegaview.server.print.PrintServerBean.print(PrintServerBean.java:130) at de.tmobile.tmap.server.print.TMapPrintServerBean.print(TMapPrintServerBean.java:223) at de.tmobile.pegaview.server.print.PrintValueBean.print(PrintValueBean.java:74) 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:585) at de.tmobile.pegaview.server.print.PrintAction.execute(PrintAction.java:73) at de.tmobile.pegaview.server.BasicAction.execute(BasicAction.java:111) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244) 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:276) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:262) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:52) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:171) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) I don't know where to grant the permission to delete any file in the cache-folder :-( I already used another path as a base folder for the pdf-file and gave that codebase also AllPermissions but to no avail. And I verified that a simple JSP-Page within my webapp can indeed delete files in the cache-folder. So, I'm stumped. /Axel --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]