2008-08-29 6 views
0

У меня есть приложение, которое должно быть установлено действительно, но отлично работает при развертывании с использованием JNLP.Как определить, доступна ли функция во время выполнения JNLP?

Однако, казалось бы, некоторые функции Java, такие как Runtime.exec, не работают с использованием параметров безопасности по умолчанию.

Я хотел бы поэтому disable Пользовательский интерфейс, который опирается на такие функции.

Так что мой вопрос: Как определить во время выполнения определенные функции или нет?

Изучение конкретного случая, здесь, конечно, Runtime.exec.

ответ

1

Вы хотите задать SecurityManager, если у вас есть Exec right с помощью метода checkExec.

1

Я также обнаружил, что добавив следующую строку в файл JNLP:

<security> 
    <all-permissions/> 
</security> 

и подписи файла JAR позволяет приложению работать со всеми разрешениями, необходимыми для Runtime.exec.

0

Для конкретного примера Runtime.exec существует метод класса SecurityManager checkExec (String cmd), который генерирует исключение, которое может быть обнаружено, чтобы определить, может ли выполняться необходимая команда. Для получения дополнительной информации см. Javadoc для Runtime.exec и SecurityManager.checkExec.

В более общем случае требуется создать объект Permission, представляющий проверяемую задачу, и запустить метод checkPermission SecurityManager.

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

  • Нет связанных вопросов^_^