java - 客户端策略文件的 RMI 使用

标签 java security rmi policy

我对以下场景有一个疑问:我编写了一个客户端和一个服务器,它们共享两个公共(public)项目并与 RMI 通信,并且在我现在的阶段仅在本地运行。 在 server.policy 文件中我写道:

grant codeBase "file:C:/webui/client/bin/-" {
    permission java.security.AllPermission;
};

grant codeBase "file:C:/webui/common1/bin/-" {
    permission java.security.AllPermission;
};

grant codeBase "file:C:/webui/common2/bin/-" {
    permission java.security.AllPermission;
};

对于我尝试过的客户 授予 codeBase "file:C:/webui/client/bin/-"{ 权限 java.security.AllPermission; };

grant codeBase "file:C:/webui/common1/bin/-" {
    permission java.security.AllPermission;
};

grant codeBase "file:C:/webui/common2/bin/-" {
    permission java.security.AllPermission;
};

grant codeBase "file:C:/webui/server/bin/-" {
    permission java.security.AllPermission;
};

但我收到 AccessDenied 和神秘消息,例如 (org.osgi.framework.ServicePermission (service.id=37) get) 和 (fava.io.FilePermission C:\workspaces\webui.metadata.plugins\org.eclipse. pde.core\webui\1310480250513.log 读取)。 如果我在客户端授予所有内容,它就会起作用。

我不知道为什么,但可能我没有完全理解.policy文件的概念..;)

最佳答案

使用 -Djava.security.debug=access,failure 运行 JVM。输出将显示哪些安全域(即本质上是代码库)需要哪些权限。

关于java - 客户端策略文件的 RMI 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6665690/

相关文章:

java RMI - 服务器自动调用远程方法

spring - 集成基于 Spring 的 Java 应用程序和 Clojure 库

java - 抽象方法的目的是什么?

actionscript-3 - 尝试了解域在 AS3 中的工作方式

c# - c#中如何判断上传的文件类型

java - VisualVM 分析正在污染结果

java - 方法同步线程问题

java - struts2中使用display标签进行分页

java - 使用 SHA-384 签署 ECDSA 时出现 "Scalar is not in the interval [1, n - 1]"异常

mysql - 安全的 MySQL 备份 cron 作业 – my.cnf 未被读取