Vous pouvez toujours voir ce type de vérification de sécurité pour certains appels de méthode. Je sais comment cela fonctionne mais je ne connais pas la raison de les vérifier. Ou dire le cas d'utilisation le plus approprié pour les utiliser? Je suis juste surpris combien de fois les trouver dans le code source JDK, mais à peine en sachant le but. Les avez-vous utilisés dans votre travail? Et dans quels cas?Le cas d'utilisation le plus approprié pour l'utilisation de java.lang.SecurityManager?
Je dois ajouter une contrainte ici. L'autorisation de fichier est très straightfoward. Ce que je veux dire, c'est la vérification d'autorisation d'appel de fonction. Quels types d'appels de fonction sont considérés comme dangereux et doivent être vérifiés avec Security Manager?
Par exemple,
jaav.security.Policy.
private static void checkPermission(String type) {
SecurityManager sm = System.getSecurityManager();
if (sm != null) {
sm.checkPermission(new SecurityPermission("createPolicy." + type));
}
}
Oui. L'autorisation de lecture de fichier est plus facile à comprendre. Mais une méthode comme createPolicy ou find classloader est difficile à comprendre. –
+1 Votre réponse est fondamentalement correcte. createPolicy est dangereux. Comment expliquer getClassLoader. Mais je voudrais voir plus de cas d'utilisation en plus de la permission de fichier –
Lire http://download.oracle.com/javase/6/docs/technotes/guides/security/permissions.html. Il liste toutes les permissioins et décrit les risques rencontrés en les autorisant. –