Указание удаленной кодовой базы для политики безопасности Java

StackOverflow https://stackoverflow.com/questions/3717540

Вопрос

У меня есть политика безопасности клиента с заявлением, которое дает разрешения. Я хочу иметь возможность указать его, чтобы предоставить набор разрешений только для сервера 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 CodeBase на сервере, вы можете использовать URL, начиная с «http:».

Если это локальный код, вы можете использовать URL, начиная с «файла:» и заканчивая локальным путем.

Отказ от ответственности: Я написал файлы безопасности для Jini, который построен ATOP RMI, и это было несколько лет. Извиняюсь за все, что я пропустил.

Другие советы

Используйте банку для кодовой базы и укажите ровно HTTP URL в файле .policy, который вы указали в -djava.rmi.server.codebase.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top