为Java安全策略指定远程代码库
-
02-10-2019 - |
题
我有一个客户端的安全策略,并具有授予权限的声明。我希望能够指定它仅授予RMI服务器的权限集。例如,这起作用:
grant{
//my permissions
};
但是我无法弄清楚如何链接一组权限,以便它们适用于服务器上的代码库。实际上,只要它与服务器绑定,那就可以了。我试过了:
grant codeBase "file://hostname/-"{
//my permissions
};
主机名是机器的名称或IP,无论是端口号还是w/o。但这是行不通的,使用HTTP而不是文件也不会。如果我理解到目前为止正确阅读的内容,最后连字符应将权限应用于服务器上的任何内容。有人知道我需要做什么才能使它工作吗?
谢谢。
这是运行服务器时指定的代码库:
-Djava.rmi.server.codebase=file://home/me/PageServer/build/classes/ pageserver.LoginService pageserver.PlannerService
解决方案
本地JVM在哪里获取应授予权限的代码?
如果是从服务器上的HTTP代码库下载代码,则可以使用以“ HTTP:”开头的URL。
如果是本地代码,则可以使用以“文件:”开头的URL,并以本地路径结束。
免责声明:我已经为RMI上建造的Jini编写了安全文件,已经有几年了。对我错过的任何事情表示歉意。
其他提示
使用jar用于代码库,并在-djava.rmi.server.codebase中指定的.policy文件中准确指定HTTP URL。
不隶属于 StackOverflow