客户端策略文件的RMI使用情况

时间:2011-07-12 14:22:00

标签: java security rmi policy

我对以下场景有疑问:我写了一个客户端和一个服务器,它共享两个常见项目并与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;
};

对于我试过的客户     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;
};

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文件的概念..;)

1 个答案:

答案 0 :(得分:5)

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