Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为Java安全策略指定远程代码库_Java_Rmi_Codebase_Security Policy - Fatal编程技术网

为Java安全策略指定远程代码库

为Java安全策略指定远程代码库,java,rmi,codebase,security-policy,Java,Rmi,Codebase,Security Policy,我有一个客户端安全策略,其中包含一条授予权限的语句。我希望能够将其指定为仅授予RMI服务器的权限集。例如,这项工作: grant{ //my permissions }; 但是我不知道如何链接权限集,以便它们应用于服务器上的代码库。实际上,任何东西,只要它绑定到服务器就可以了。我试过: grant codeBase "file://hostname/-"{ //my permissions }; 主机名是机器的名称或IP,带有和不带端口号。但这不

我有一个客户端安全策略,其中包含一条授予权限的语句。我希望能够将其指定为仅授予RMI服务器的权限集。例如,这项工作:

grant{    
    //my permissions    
};
但是我不知道如何链接权限集,以便它们应用于服务器上的代码库。实际上,任何东西,只要它绑定到服务器就可以了。我试过:

grant codeBase "file://hostname/-"{    
    //my permissions   
};
主机名是机器的名称或IP,带有和不带端口号。但这不起作用,使用http代替文件也不起作用。如果我正确理解到目前为止阅读的内容,那么结尾的连字符应该将权限应用于服务器上的任何内容。有人知道我需要做些什么才能让它工作吗

谢谢

以下是运行服务器时指定的代码库:

-Djava.rmi.server.codebase=file://home/me/PageServer/build/classes/  pageserver.LoginService pageserver.PlannerService 

本地JVM在哪里获得应该被授予权限的代码

如果它是从服务器上的HTTP代码库下载代码,则可以使用以“HTTP:”开头的URL

如果是本地代码,可以使用以“file:”开头、以本地路径结尾的URL


免责声明:我已经为Jini编写了安全文件,它构建在RMI之上,已经有几年了。为我遗漏的任何内容道歉。

使用JAR作为代码库,并在.policy文件中精确指定您在-Djava.rmi.server.codebase中指定的HTTP URL。

它是从远程JVM获取的。我尝试了http,但它对我不起作用。也许这和路径有关?我不知道我的RMI服务器上的基本路径在哪里,它只是根文件路径,还是默认情况下从某个地方开始,比如说apache的/var/www。您的RMI服务器上是否定义了java.RMI.server.codebase属性?如果添加正确,应该是这样的。我刚刚更新了我的问题,加入了我在运行服务器jar时添加的开关。干杯。是的,不,我没有运行http服务器。我想知道RMI是否有处理传输的协议,因为http部分看起来很奇怪。不管怎样,我现在开始工作了。干杯