2011-08-20 2 views
0

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)); 
    } 
} 

Répondre

2

Certaines applications Java fonctionnent dans un environnement sandbox (applets, applications webstart, etc.) afin de les empêcher d'être méchant (par exemple, une applet d'exécution dans une page HTML aléatoire ne devrait pas être en mesure de accéder au système de fichiers et lire toutes vos données personnelles). Ces vérifications constituent le bac à sable.

Il existe des moyens d'activer certaines de ces opérations restreintes (en signant les bocaux et en demandant l'approbation de l'utilisateur final).

Le gestionnaire de sécurité gère ce qui est autorisé et ce qui ne l'est pas. 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.

+1

Oui. L'autorisation de lecture de fichier est plus facile à comprendre. Mais une méthode comme createPolicy ou find classloader est difficile à comprendre. –

+0

+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 –

+2

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. –

Questions connexes