gpt4 book ai didi

库中的java权限

转载 作者:搜寻专家 更新时间:2023-11-01 03:43:59 24 4
gpt4 key购买 nike

我有一个使用 JNA 库的程序(由 maven 管理)。程序本身拥有所有权限(我得到了一个FilePermission错误,更改了策略文件,现在我可以随意读/写了)。但是,当我使用 JNA 时,出现以下错误:

Exception in thread "main" java.security.AccessControlException: access denied (java.util.PropertyPermission jna.encoding read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:393)
at java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1302)
at java.lang.System.getProperty(System.java:669)
at com.sun.jna.Pointer.getString(Pointer.java:682)
at com.sun.jna.Function.invokeString(Function.java:598)
at com.sun.jna.Function.invoke(Function.java:356)
at com.sun.jna.Function.invoke(Function.java:276)
at com.sun.jna.Library$Handler.invoke(Library.java:216)

我的策略文件是(最后一个 grant obvioulsy 不起作用):

grant codeBase "file:/home/tm/workspace/-" {
permission java.security.AllPermission;
};
grant codeBase "file:/home/tm/.m2/repository/net/java/dev/jna/jna/-" {
permission java.util.PropertyPermission "jna.encoding", "read";
};

我正在 eclipse 中运行该程序,来自工作区目录中的一个项目。我需要将哪些权限分配给什么有什么想法吗?

最佳答案

我有 RMISecurityManager 因为它是一个分布式程序。当我删除对 setSecurityManager 的所有调用时,问题就停止了。我假设 System.setSecurityManager(new RMISecurityManager()); 没有获取策略文件。

关于库中的java权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7309655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com