Ian*_*son 5 java security configuration tomcat
我们必须在此基础上我想在一些servlet应用程序使用持久存储B树一本地开发的三重店.而不是嵌入在servlet的.war B树索引文件,我想将它们存储在一个已知的位置,并有小服务程序直接访问它们.这一切都在Jetty中工作,但是当我在Tomcat中尝试它时会引发安全性异常.我听说Tomcat的安全模型需要一个servlet明确的权限来访问其中的.war被解压的目录树之外的文件.如果我Tomcat的(5.5版)文档正确理解,下面添加到catalina.policy应该允许servlet访问其中索引文件的目录:
grant codeBase "jar:file:${catalina.home}/webapps/mytestapp/-"
{
permission java.io.FilePermission "/var/data/tdb/-", "read, write, delete";
}
Run Code Online (Sandbox Code Playgroud)
但是,我仍然得到一个安全例外:
java.io.FileNotFoundException:
/var/data/tdb/kb/node2id.idn (Permission denied)
at java.io.RandomAccessFile.open(Native Method)
...
Run Code Online (Sandbox Code Playgroud)
勾选明显的哑错误:我已检查索引文件位于正确的位置,具有正确的权限,并且没有损坏.我将非常感谢您对我在安全设置中出错的任何建议或提示.
java.io.FileNotFoundException:
/var/data/tdb/kb/node2id.idn (Permission denied)
Run Code Online (Sandbox Code Playgroud)
这是您的操作系统拒绝访问,而不是 Java 安全性。如果是 Java 安全性,您将得到一个AccessControlException(或某种其他形式的SecurityException)。您正在运行 Tomcat 进程的用户可能无权访问该文件。
| 归档时间: |
|
| 查看次数: |
10573 次 |
| 最近记录: |