解决tomcat 5.5启动后第一次访问总是会报一个access denied的问题

news/2024/7/6 0:10:31 标签: access, tomcat, application, servlet, header, file

ubuntu 8.04 LTS 解决tomcat 5.5启动后第一次访问总是会报一个access denied的问题
2010-01-19 14:50
错误提示:
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.org.apache.coyote)
java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
java.security.AccessController.checkPermission(AccessController.java:546)
java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:298)
java.lang.ClassLoader.loadClass(ClassLoader.java:296)
java.lang.ClassLoader.loadClass(ClassLoader.java:296)
java.lang.ClassLoader.loadClass(ClassLoader.java:248)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
org.apache.coyote.http11.InternalOutputBuffer.sendStatus(InternalOutputBuffer.java:452)
org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1617)
org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:967)
org.apache.coyote.Response.action(Response.java:181)
org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:576)
org.apache.coyote.Response.doWrite(Response.java:560)
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:361)
org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:323)
org.apache.tomcat.util.buf.IntermediateOutputStream.write(C2BConverter.java:236)
sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:276)
sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
org.apache.tomcat.util.buf.WriteConvertor.flush(C2BConverter.java:185)
org.apache.tomcat.util.buf.C2BConverter.flushBuffer(C2BConverter.java:128)
org.apache.catalina.connector.OutputBuffer.realWriteChars(OutputBuffer.java:536)
org.apache.tomcat.util.buf.CharChunk.append(CharChunk.java:256)
org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:456)
org.apache.catalina.connector.CoyoteWriter.write(CoyoteWriter.java:143)
org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:119)
org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:326)
org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:342)
org.apache.jsp.index_jsp._jspService(index_jsp.java:50)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
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:597)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)

头次知道tomcat里面还有policy.d的配置,废了半天时间到处查资料才解决。

修改/etc/tomcat/policy.d/03catalina.policy文件,修改如下:

grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
permission java.security.AllPermission;
};


修改/etc/tomcat/policy.d/04webapps.policy,增加如下两行:

grant {
...........
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.coyote";
permission java.util.PropertyPermission "org.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER", "read";

..........
};

如果碰到你的servlet有些特殊权限要求,可以在50user.policy文件里面增加:

grant codeBase "file:/var/lib/tomcat5.5/webapps/your_application_path/-" {
permission java.security.AllPermission;
};

 

 

 

http://hi.baidu.com/wqwuhtml/blog/item/d5fc40389fa9832fb9998ffe.html


http://www.niftyadmin.cn/n/1535627.html

相关文章

maven项目 servlet jar包冲突

Failed to process JAR found at URL for ServletContainerInitializers for context with name [{1}] 启动报这个错误,要移除servlet jar包, 移除Jetty依赖包geronimo-servlet_3.0_spec-1.0.jar就可以了 转载于:https://www.cnblogs.com/skyislimit/p/…

Access to the requested resource has been denied

问题原因&#xff1a;下的是zip版的TOMCAT&#xff0c;用默认的tomcat/tomcat登录就会报此错。所以得手工配置登录用户名 打开TOMCAT/CONF/tomcat-users.xml 默认为&#xff1a; Java代码<?xml version 1.0 encoding utf-8 ?> <tomcat-users> <…

tomcat 日志 log4配置

严重: Context startup failed due to previous errors 查找logs目录下的信息,除了这两句话,也没别的辅助内容. 给查错带来了困难,在这种情况下,是因为Tomcat自身的默认日志没有将一些错误信息输出到控制台或文件, 这个时候则需要配置Tomcat自身的log,启用详细的调试日志. …

gcc的使用简介与命令行参数说明

参考&#xff1a;《GNU gcc嵌入式系统开发 作者&#xff1a;董文军》 (一) gcc的基本用法 (二) 警告提示功能选项 (三) 库操作选项 (四) 调试选项 (五) 交叉编译选项 (一) gcc的基本用法 使用gcc编译器时&#xff0c;必须给出一系列必要的调用参数和文件名称。 不同参数的先后…

C++特殊类设计与单例模式

目录 1.不能被拷贝的类 2.只能在堆上创建对象的类 3.只能在栈上创建对象的类 4. 设计一个不能被继承的类 5. 单例模式 1.不能被拷贝的类 拷贝只会发生在两个场景中&#xff1a;拷贝构造函数以及赋值运算符重载。 因此想要让一个类禁止拷贝&#xff0c; 只需让该类不能调用拷贝构…

Struts2学习五----------指定多个配置文件

© 版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请注明出处 指定多个配置文件 - 在Struts2配置文件中使用include可指定多个配置文件 实例 1.项目结构 2.pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w…

Qt学习笔记(Day 1)

1 创建第一个 Qt 程序 1.1 点击创建项目后&#xff0c;选择项目路径以及给项目起名称 1.2 名称 - 不能有中文 不能有空格 1.3 路径 - 不能有中文路径 1.4 创建默认有窗口类&#xff0c; myWidget&#xff0c;基类有三种选择&#xff1a;QWidget 、QMainWindow、QDialo…

GDB调试简单例子

转自&#xff1a;http://dsec.pku.edu.cn/~yuhj/wiki/gdb.html GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许&#xff0c;各位比较喜欢那种图形界面方式的&#xff0c;像VC、BCB等IDE的调试&#xff0c;但如果你是在 UNIX平台下做软件&#xff0…