Question

J'ai une application qui vraiment doit être installé, mais il ne fonctionne bien lorsqu'il est déployé à l'aide de JNLP.

Cependant, il semblerait que certains Java des fonctions telles que Runtime.exec ne pas travailler à l'aide de la valeur par défaut des options de sécurité.

Je voudrais donc désactiver L'INTERFACE utilisateur de la fonctionnalité qui repose sur de telles fonctions.

Donc ma question est, comment puis-je détecter à l'exécution si certaines fonctions sont disponibles ou pas?

L'étude de cas, ici, bien sûr, est Runtime.exec.

Était-ce utile?

La solution

Vous voulez demander à l' SecurityManager si vous avez Exec droit avec la checkExec méthode.

Autres conseils

J'ai aussi trouvé que l'ajout de la suite pour le fichier JNLP:

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

Et la signature du fichier JAR permet à l'application de fonctionner avec toutes les autorisations nécessaires pour Runtime.exec.

Pour l'exemple précis de l'Exécution.exec il y a une méthode de la classe SecurityManager checkExec(String cmd) qui va lever une exception qui peut être pris pour déterminer si la commande peut être exécutée.Pour plus d'informations, consultez la javadoc de l'Exécution.exec et SecurityManager.checkExec.

Le cas plus général nécessite la création d'une Autorisation de l'objet représentant la tâche en cours de vérification et d'exécution SecurityManager de checkPermission méthode.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top