【发布时间】:2016-01-27 05:54:27
【问题描述】:
我以前见过this topic,并且给出的解决方案有效。
但是,它不符合我的需要,因为它通过设置这个 catalina.policy 来授予对每个目录的读取访问权限:
grant {
permission java.security.AllPermission;
};
所以,我的问题是:有一些方法可以确定正在请求的文件或资源,但在我取消此授权时被拒绝?
以下是可能有帮助的日志,当给定的 Grant 被删除时会出现:
java.security.AccessControlException:访问被拒绝(java.security.SecurityPermission getProperty.package.definition) 在 java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) 在 java.security.AccessController.checkPermission(AccessController.java:546) 在 java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 在 java.security.Security.getProperty(Security.java:725) 在 org.apache.catalina.security.SecurityConfig.setSecurityProperty(SecurityConfig.java:117) 在 org.apache.catalina.security.SecurityConfig.setPackageDefinition(SecurityConfig.java:106) 在 org.apache.catalina.startup.Embedded.setSecurityProtection(Embedded.java:990) 在 org.apache.catalina.startup.Embedded.(Embedded.java:130) 在 org.apache.catalina.startup.Embedded.(Embedded.java:115) 在 org.apache.catalina.startup.Catalina.(Catalina.java:58) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:513) 在 java.lang.Class.newInstance0(Class.java:355) 在 java.lang.Class.newInstance(Class.java:308) 在 org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:225) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:410)
提前谢谢你!
【问题讨论】:
标签: java security tomcat centos