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

Wor*_*ase 2 java security policy rmi

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

对于客户端,我尝试授予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;
};
Run Code Online (Sandbox Code Playgroud)

但我得到了带有神秘消息的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文件的概念..;)

use*_*421 5

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