![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Fieral |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
Программа вываливает:
Exception occurred: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve) Судя по гуглу необходимо разрешить вызов удалёных методов. В качестве решений предлагаются различные варианты как то: 1) написать свой SecurityManager - который по сути наследует старый, но только методы поправлены так чтоб ему было абсолютно побарабану на то кто и что делает - а он просто всё разрешает. 2) Написать файл политики который нужно вызывать из командной строки каждый раз когда стартует предложение. Первый вариант меня смущает тем, что как-то нехорошо ломать то что люди делали - не с проста же они создали этот консервативный SecurityManager. Второй вариант я вообще не понимаю как использовать: В голову приходит идея каждый раз, когда приложение собирается открыть новый RMI сервер, оно должно писать на диск файл политики, и дёргать из консоли соответствующий класс указывая java -Djava.security.manager -Djava.security.policy=policy-file MyClass. Но даже я понимаю что это какой-то бред. Может мне кто-нибудь объяснить как вывесив методы для удалённого вызова разрешить их вызывать? --------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
| chand0s |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 19.2.2007 Репутация: нет Всего: 3 |
Не надо ни на какой диск ничего писать, вы просто запускаете свое приложение с указанием файла политики, который ему (приложению) надо использовать, т.е. создаете файл с содержимым
и указываете этот файл при старте java-машины, примерно так:
Кажется так. |
||||||
|
|||||||
| Fieral |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
Касательно
Тут http://patriot.net/~tvalesky/easyrmi.html написано: When you run the client or the server, pass the location of your new security policy file in as an argument. This allows you to run under a new policy without having to modify your system policy files. Here is a .policy file that grants all permissions to everybody. DO NOT install this policy file in a production system. К томуже не понятно: 1) как java -Djava.security.policy=<путь к этому файлу> будет попадать в строку запуска Java машины. 2) Лично мне кажется логичным что если в процессе выполнения моей программы я собираюсь открыть порт 7000 то я и выписываю разрешение политику на этот порт, а остальные порты не трогаю. А если вешать permission java.security.AllPermission; то не понятно на зачем вообщи нужны секъюрити-политики, если я "открываю ворота на распашку"? (Ну и конечно если порт 7000 уже кем-то занят, то программа пытаеся открыть 7001 и выписывает разешение на него и т.д...) Это сообщение отредактировал(а) Fieral - 10.2.2009, 15:38 --------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
| Fieral |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
актуально
--------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
| ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 3 Всего: 81 |
Научились запускать "Java машину"?
|
|||
|
||||
| Fieral |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
допустим.
--------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
| Fieral |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 250 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
Особенно интересен данный вопрос в контексте вот этой мысли:
http://forum.vingrad.ru/index.php?showtopi...t&p=1845165
Кто будет на машине юзера --------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |