Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как обойти разрешение accessDeclaredMembers в качестве апплета?

Автор вопроса: Octavia TogamiОтветов: 1

Я использовал некоторый код из другого вопроса для доступа к закрытым полям "классы" в Java ClassLoader. Это отлично работает, однако, когда я переношу его в апплет, он запутывается с этим исключением: access denied (java.lang.RuntimePermission accessDeclaredMembers). Я сделал некоторый поиск и попытался использовать PrivlegedExceptionAction, чтобы пропустить это, но это не работает. Итак, мой вопрос таков: можно ли обойти это, и если нет, то какой еще способ получить список классов?

Код отражения:

final ClassLoader cLoader = getClass().getClassLoader();
            final Field f = ClassLoader.class.getDeclaredField("classes");
            AccessController.doPrivileged(new PrivilegedExceptionAction() {
                    public Object run() throws Exception {
                        f.setAccessible(true);
                        return null;}});
            Vector<Class> classes = (Vector<Class>)f.get(cLoader);
            cList.addAll(classes);
  • Кроме того, я хотел бы избежать использования файла политики. Octavia Togami 06.09.2012
  • I used some code from another question какой вопрос? Jérôme Radix 06.09.2012
  • @jérôme Этот вопрос (stackoverflow.com/questions/2681459/) Octavia Togami 06.09.2012
  • Чего вы пытаетесь достичь, используя это и Greenfoot? Вы не можете сделать это в апплете, если ожидаете, что он попадет на greenfoot.org, но в зависимости от вашей задачи может быть другой способ. Michael Berry 08.10.2012
  • Это для запроса, который кто-то сделал, я пытаюсь заставить его работать. Octavia Togami 09.10.2012

appletjavasecurityreflectiongreenfoot

Ответы

Ответ 1 · рейтинг 2 · Andrew Thompson

Подпишите код апплета цифровой подписью (затем попросите пользователя принять его при появлении запроса), чтобы получить полные привилегии.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы