Sécurité java

Sécurité java - Java - Programmation

Marsh Posté le 26-10-2008 à 19:59:04    

Bonjour a tous,
 
Je lance mon code java avec le SecurityManager(java.policy)
 
Voici la situation, je travaille avec un dossier(toutes permissions sur "C:/Testfolder" par exemple) et tous les autres dossiers sont donc bloqués. J'ai un fichier .bat dans mon dossier "C:/Testfolder", il a pour but de supprimer "C:/fileProtected" par exemple.
 
Mon application java souhaite supprimer un dossier protégé ("C:/otherFile" par exemple), l'accès est refusé, ce qui est normal!!
Mais si je lance mon .bat(accès autorisé) qui lui va supprimer un dossier protégé, la demande d'accès ne se fait plus... et le dossier protégé est supprimé!!
est ce normal que java ne transmette pas les permissions au .bat?Sinon avez vous d'autres solutions?
 
Merci d'avance, Aurel

Reply

Marsh Posté le 26-10-2008 à 19:59:04   

Reply

Marsh Posté le 01-11-2008 à 16:09:02    

je suis pas certain d'avoir compris ce que tu veux faire (j'ai pas de bat files sur mon système  ;) mais en gros on peut dire que si tu lances ton applic java avec la commande :
 
java nomDeLApplication
 
alors le programme Java aura sur l'os tous les droits que tu as toi
 
Si tu veux restreindre ces droits, tu dois utiliser un policy file et un security manager
 
dans le policy file tu aura qqchose comme
 
grant {
   permission java.io.FilePermission "c:/testfolder/*" "read, write,delete";
};
 
et tu lances ensuite ton applic par
 
java -Djava.security.manager -Djava.security.policy=monPolicyFileAMoi nomDeLApplication
 
et là tu autorises java à bricoler dans testfolder, mais nulle part ailleurs.
 
Mais c'est peut-être pas ce que tu recherches
 

Reply

Sujets relatifs:

Leave a Replay

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