首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向Java代码授予库加载权限的问题

向Java代码授予库加载权限的问题
EN

Stack Overflow用户
提问于 2013-01-19 11:21:46
回答 1查看 2.3K关注 0票数 0

我在我的应用程序中使用Java安全管理器。我正在进行授权,我遇到了一个我看起来不像授权的授权。这是加载库的权限。它是$ java _HOME/lib/ *.jar目录中的一个JAVA库。

代码语言:javascript
复制
at com.theatsgroup.startup.startup_managers.startup(startup_managers.jav
a:98)
at com.theatsgroup.startup.app_startup.main(app_startup.java:357)
Caused by: java.security.AccessControlException: access denied ("java.lang.Runti
mePermission" "loadLibrary.sunec")
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkLink(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)

我的授权文件如下:

代码语言:javascript
复制
grant codeBase "file:../bin/atsapp.jar" {
permission java.lang.RuntimePermission "loadLibrary.sunec";
};

下面是我如何调用我的Java应用程序:

代码语言:javascript
复制
java -Djava.security.manager -Djava.security.policy==..\cfg\atsapp.security.poli
cy -jar atsapp.jar

有什么想法吗?

谢谢,

--Justin

EN

回答 1

Stack Overflow用户

发布于 2013-01-19 11:46:34

由于您使用的是“jvm”,您将覆盖==的“默认”权限。为了让jvm正常工作,您很可能需要在策略文件中复制一个重要的默认授权。此权限授予作为jvm的一部分安装的所有扩展库执行所有“内部”任务所需的权限。不确定为什么这不是内置的,因为jvm没有它就不能做很多事情。

代码语言:javascript
复制
grant codeBase "file:${{java.ext.dirs}}/*" {
  permission java.security.AllPermission;
};

这来自与jre一起安装的"lib/security/java.policy“文件的开头。您可能想要调查此文件的其余部分,看看是否有您可能需要的其他重要的基本权限。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14410774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档