Utilisation de "SecurityManager"

Utilisation de "SecurityManager" - Java - Programmation

Marsh Posté le 27-06-2002 à 10:47:19    

Bjr tout le monde,
Comment fait on pour utiliser le SecurityManager, je veux simplement que le SecurityManager empèche l'utilisation du System.exit lorsque celui ci a pour argument 0...

Code :
  1. SecurityManager secManager = new SecurityManager();
  2. secManager.checkExit(0);
  3. System.setSecurityManager(secManager);


Sauf que là il m'empèche d'écrire ou de lire dans les fichiers ect...
J'ai rajouté ça :

Code :
  1. secManager.checkRead(test[0]);
  2. secManager.checkWrite(test[1]);


mais ça a rien changé du tout...
Si qqun peut m'aider ou a une idée...

Reply

Marsh Posté le 27-06-2002 à 10:47:19   

Reply

Marsh Posté le 27-06-2002 à 10:53:37    

bin c'est normal que ca a rien changé. Tu fais un check (verifier que le droit est bon). Tu n'as en aucun cas fait un set :)
 
ou alors j'ai rien compris a ton explication


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 27-06-2002 à 10:55:42    

Hum oui je me suis dit ça aussi au début mais si tu regardes la javadoc concernant SecurityManager il n'y aucune méthode "set" et le "check" est en théorie là pour "cocher" le droit... si tu vois ce que je veux dire
 
Et ça m'avance pas vraiment de me dire ça... je sui tjs à la recherche de la solution complète ou partielle


Message édité par ant-103 le 27-06-2002 à 10:56:55
Reply

Marsh Posté le 27-06-2002 à 11:04:01    

Ant-103 a écrit a écrit :

Hum oui je me suis dit ça aussi au début mais si tu regardes la javadoc concernant SecurityManager il n'y aucune méthode "set" et le "check" est en théorie là pour "cocher" le droit... si tu vois ce que je veux dire




 
bin il me semble qu'il faut que tu lises mieux ...  
 

Citation :


The security manager is a class that allows applications to implement a security policy. It allows an application to determine, before performing a possibly unsafe or sensitive operation, what the operation is and whether it is being attempted in a security context that allows the operation to be performed. The application can allow or disallow the operation.  
 
The SecurityManager class contains many methods with names that begin with the word check. These methods are called by various methods in the Java libraries before those methods perform certain potentially sensitive operations. The invocation of such a check method typically looks like this:  
 
 
     SecurityManager security = System.getSecurityManager();
     if (security != null) {
         security.checkXXX(argument,  . . . );
     }
 The security manager is thereby given an opportunity to prevent completion of the operation by throwing an exception. A security manager routine simply returns if the operation is permitted, but throws a SecurityException if the operation is not permitted.


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 27-06-2002 à 11:05:36    

Effectivement j'ai mal lu.... mais je ne sais toujours pas comment faire...

Reply

Marsh Posté le 27-06-2002 à 11:08:48    

Ant-103 a écrit a écrit :

Effectivement j'ai mal lu.... mais je ne sais toujours pas comment faire...




 
tu dois définir les droits dans ton fichier java.policy. Regarde l'outil policytool


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 27-06-2002 à 11:09:12    

ok thanx

Reply

Marsh Posté le 27-06-2002 à 11:11:03    

Ant-103 a écrit a écrit :

ok thanx




 
ceci dit meme si tu mets les droits pour ce fameux System.exit() ca va se crasher via une SecurityException donc c'est potentiellement dangeureux.
 
Pourquoi tu n'appelles pas ce process dans un autre JVM. Le system.exit() killera ta 2eme JVM et tu n'auras pas de problèmes au niveau de ton soft ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 27-06-2002 à 11:14:51    

si tu m'explique comment je fais ça sachant que la classe que j'appelle fait partie d'un package qui est je ne sais où... l'exception générée ne me pose pas problème vu que je l'empèche de l'afficher à l'écran... c un peu bourrin mais bon ;)

Reply

Marsh Posté le 27-06-2002 à 11:15:45    

Ant-103 a écrit a écrit :

si tu m'explique comment je fais ça sachant que la classe que j'appelle fait partie d'un package qui est je ne sais où... l'exception générée ne me pose pas problème vu que je l'empèche de l'afficher à l'écran... c un peu bourrin mais bon ;)  




 
tu appelle un static void main(String[] args) ?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 27-06-2002 à 11:15:45   

Reply

Marsh Posté le 27-06-2002 à 11:17:34    

exact

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed