2010-09-15 2 views
0

У меня есть политика безопасности на стороне клиента с заявлением, предоставляющим разрешения. Я хочу иметь возможность указать его для предоставления набора разрешений только для сервера RMI. Например, это работает:Задание удаленной кодовой базы для политики безопасности Java

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 

ответ

1

Где локальная JVM получая код, который должен быть предоставлен разрешением?

Если вы загружаете код из базы данных HTTP на сервере, вы можете использовать URL-адрес, начинающийся с «http:».

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

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

+0

Его получение от удаленной JVM. Я попробовал http, но он не работал для меня. Может быть, это имеет какое-то отношение к пути? Я не знаю, где базовый путь на моем сервере RMI - это просто путь к корневому файлу или он запускается где-то по умолчанию, например, как/var/www для apache. –

+0

Является ли свойство java.rmi.server.codebase определенным на вашем сервере RMI? –

+0

Должно быть, если я правильно его добавлю. Я только что обновил свой вопрос, включив переключатель, который я добавил при запуске серверной банки. Приветствия. –

0

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

Смежные вопросы