2016-11-05 1 views
-1

Dans mon application web, je fournis une plate-forme pour exécuter des codes externes qui seront stockés dans un emplacement particulier, par exemple "C: \ Users \ tester".Comment définir la politique de sécurité java dans tomcat d'une application web donnant accès à des codes de différents langages

Je veux refuser la permission pour System.getProperty("user.home") de lire et d'écrire et ne pas être en mesure de faire une connexion http à travers les codes. Comment y parvenir? J'ai aussi une autre question à ce sujet, comme nous savons tous que nous ne pouvons pas refuser les autorisations du fichier texte de la politique, donc quelqu'un peut-il me dire quelles sont les autorisations données quand nous mentionnons permission java.security.AllPermission; dans le fichier de politique?

Répondre

2

La politique de sécurité par défaut est contenue dans le fichier catalina.policy dans le répertoire de configuration de Tomcat. Pour appliquer ce fichier, vous devez exécuter Tomcat avec l'option -security. Plus d'informations sont données dans Security Manager HOW-TO de Tomcat

permission java.security.AllPermission accorde des autorisations pour faire n'importe quoi. Il doit être appliqué uniquement au code entièrement fiable, par ex. système ou les bibliothèques de Tomcat. C'est le cas pour la valeur par défaut catalina.policy.

+0

Veuillez vérifier ma question. Je demande comment refuser les autorisations @kgeorgiy – smondal345

+1

Il n'y a pas de mécanisme de révocation d'autorisation dans [les fichiers .policy] (http://docs.oracle.com/javase/8/docs/technotes/guides/security/PolicyFiles.html). Pour "nier" quelque chose, vous ne devriez pas donner votre permission pour le faire. – kgeorgiy

+0

pouvez-vous indiquer la liste des autorisations données à l'utilisateur lors de l'utilisation de la commande java.security.AllPermission d'autorisation? – smondal345