Alex, ho risolto con un'esacamotage:
try{
FilePermission perm = new FilePermission("C:\\Users\\Mirko\\Desktop\\ProvaCl assLoader\\*", "write");
AccessController.checkPermission(perm);
FileOutputStream prova = new FileOutputStream("prova.txt");
PrintStream scrivi = new PrintStream(prova);
scrivi.print("cazz");
System.out.print("File scritto");
} catch (Exception e ) {
System.out.println("Permesso vietato");
}
Ovvero ho inserito l'accessController nello stesso blocco dell'operazione di write, adesso se tolgo il permesso di write dal policy mi lancia l'exception e tutto va regolarmente. E' possibile che il file di policy e controllo di permessi vada eseguito in questo modo? Se metto le istruzioni di write all'esterno del blocco di controllo l'operazione viene eseguita normalmente anche se nel file policy è negata...
P.S. questo meccanismo secondo me (per logica) non è corretto, poichè i metodi devono premettere prima delle loro azioni il controllo dell'accesso, ovvero si devono auto-controllare!! Invece da ignaro, penso che il controllo delle azioni debba essere fatto in automatico al tentativo di esecuzione dell'azione da parte di una determinata classe, possibilmente anche scaricata dalla rete, di cui magari non conosciamo il contenuto e non sappiamo se le varie azioni vengano precedute da un controllo esplicito da parte dell'AccessController.