Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с безопасностью. вызов функции апплета из js. 
:(
    Опции темы
cromm3
Дата 11.11.2006, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 22.3.2006

Репутация: нет
Всего: нет



Всем привет! 
Есть апплет, подписанный, при обращении к функции(ради которой он подписывался) из самого апплета все работает нормально, при обращении из JS - выдает исключение( java.security.AccessControlException)… с чем это может быть связанно? 
Спасибо!
PM   Вверх
Alexandr87
Дата 11.11.2006, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 5
Всего: 39



Помнится у меня тоже была подобная проблемма.

Итак, политика безопасности взаимодействия js с applet`ом содержит такое условие, что функция апплета, вызванная из JS, не может выполнять "небезопасные" методы, даже если апплет подписан.

Как сия проблемма решается. Создаете еще одну функцию, в которой создаете новый поток и в нем уже выполняете вашу функцию.

Хотя может быть проблема и не в этом.
PM Jabber   Вверх
Alexandr87
Дата 11.11.2006, 21:31 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 5
Всего: 39



небольшой примерчик
Код

import java.applet.Applet;
import java.io.FileOutputStream;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;

public class apletImg extends Applet {
    
    String returnedValue;
    
    public String getText() {
        
        Runnable power = new Runnable() {
            public void run() {
                try {
                    FileOutputStream fos = 
                            new FileOutputStream("/home/alexandr/123.txt");
                    fos.write(123);
                    fos.close();
                    // returned statement
                    returnedValue="PowerDown";
                } catch (Exception e) {
                    returnedValue=e.getMessage();
                }
            }
        };
        try {
            Thread thr = new Thread(power);
            SwingUtilities.invokeAndWait(thr);
            return returnedValue;
        } catch(Exception e) {
            return "errror";
        }
    }
}


Это сообщение отредактировал(а) Alexandr87 - 12.11.2006, 06:13
PM Jabber   Вверх
cromm3
Дата 12.11.2006, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 22.3.2006

Репутация: нет
Всего: нет



Alexandr87, спасибо! попробую решить проблему, предложенным вами способом…
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.1009 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.