![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
suborg |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 29.4.2002 Где: Москва Репутация: нет Всего: нет |
Здравствуйте. Решил тут снова заняться Java, столкнулся с проблемой - при попытке загрузки данных c URL в апплете вылетает Security Exception. Если просто в приложении это делать - нет проблем. Можно ли как-то обойти проблему?
Использую URL, InputStream |
|||
|
||||
max |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 9.6.2002 Репутация: нет Всего: нет |
Привет
Почитай о безопасности, в частности о правах доступа. Проблемма скорей всего в SocketPermission. Я сам только об этом прочитал, поэтому не могу сослаться на опыт. Но насколько я разобрался, надо всего лишь в пользовательский файл политики добавить grant { permission java.net.SocketPermission "*", "connect"; } и этот файл прописать в строке policy.url.2=file:$(user.home)/.java.policy в [JAVA_HOME]\security\java.security. Думается, что есть и более красивые варианты - например в аплете делается попытка изменить файл политики и после получения согласия пользователя устанавливается это разрешение. Напиши обязательно что получилось ![]() -- Всего доброго, Максим |
|||
|
||||
suborg |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 29.4.2002 Где: Москва Репутация: нет Всего: нет |
Я почитал некоторые источники и нашел среди ограничений на апплеты: помимо запретов записи на диск и тому подобных опасный действий, запрещены обращения к сетевым ресурсам, расположенным на других хостах относительно самого апплета. Тут-то я и накололся, видимо потому что мне как раз нужно грузить данные с другого сервера. Но мне нужно это делать без каких либо обращений дополнительных к пользователю на клиентской машине... так что я пока соображаю сижу, вообще можно выбранным путем задачу решить или нет. Насчет политики - тоже полистал в интернете, много ссылок на java.net.SocketPermission, но зато не нашел у себя файлов с политиками
![]() Кстати, почитал еще статью о Java и C#, в очередной раз озадачился вопросом перспективности? В WinXP реально совсем Java не поддерживается? Стрёмно как-то. Технология замечательная, но будет ли она жить... |
|||
|
||||
max |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 9.6.2002 Репутация: нет Всего: нет |
![]() Файлы с политиками у меня находятся по умолчанию в C:\j2sdk1.4.0\jre\lib\security\. В java.security есть две строки урлов, один из них указывает на дефолтный файл политики .java.policy в этом же каталоге, а второй - на создаваемый пользователем, я себе забросил по умолчанию в "C:\Documents and Settings\M3.MAX\.java.policy", но можно прописать куда угодно. Кстати для модификации этих файлов придумана нехитрая утилита policytool. Но это всё лирика - тебе ведь надо добавить эту политику из апплета ![]() А ведь есть и другой вариант - использовать сервлеты ![]() Брось-ка урл статьи, пожалуйста. |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
В апплете вызвать другой URL не получиться - заставлять настраивать броузер пользователю - плохая идея. Обычно пишется прокси на стороне сервера, к котрому апплет может обратиться и уже сам прокси делает запрос по URL и возвращает ответ.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |