Quote Originariamente inviata da Alex'87 Visualizza il messaggio
Per usare uno specifico file di policy devi indicarlo all'avvio della JVM.

Ad esempio, se tu lanci il tuo programma con

java com.pippo.ClasseConMain

dovrai fare
java -Djava.security.policy=/custom/path/to/file/myfile.policy com.pippo.ClasseConMain

Per l'altro problema, posta il tuo file di policy che vediamo cosa c'è ^^
Quello in caso compilassi a riga di comando, io sto utilizzando eclipse quindi fa tutto luI, dove dovrei inserire il riferimento al file di policy?

Comunque il file di policy è questo: (è il contenuto standard)

/* AUTOMATICALLY GENERATED ON Sat Feb 08 12:04:48 CET 2014*/
/* DO NOT EDIT */


grant codeBase "file:/C:/Program%20Files/Java/jre7/lib/ext/*" {
permission java.security.AllPermission;
};


grant codeBase "file:/C:/Windows/Sun/Java/lib/ext/*" {
permission java.security.AllPermission;
};


grant {
permission java.lang.RuntimePermission "stopThread";
permission java.net.SocketPermission "localhost:0", "listen";
permission java.net.SocketPermission "localhost:1099", "listen";
permission java.util.PropertyPermission "java.version", "read";
permission java.util.PropertyPermission "java.vendor", "read";
permission java.util.PropertyPermission "java.vendor.url", "read";
permission java.util.PropertyPermission "java.class.version", "read";
permission java.util.PropertyPermission "os.name", "read";
permission java.util.PropertyPermission "os.version", "read";
permission java.util.PropertyPermission "os.arch", "read";
permission java.util.PropertyPermission "file.separator", "read";
permission java.util.PropertyPermission "path.separator", "read";
permission java.util.PropertyPermission "line.separator", "read";
permission java.util.PropertyPermission "java.specification.version", "read";
permission java.util.PropertyPermission "java.specification.vendor", "read";
permission java.util.PropertyPermission "java.specification.name", "read";
permission java.util.PropertyPermission "java.vm.specification.version", "read";
permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
permission java.util.PropertyPermission "java.vm.specification.name", "read";
permission java.util.PropertyPermission "java.vm.version", "read";
permission java.util.PropertyPermission "java.vm.vendor", "read";
permission java.util.PropertyPermission "java.vm.name", "read";
};



Con questo file di policy FilePermission/AccessController mi danno "access denied" per esempio per la scrittura su file, però in realtà con il codice che ho scritto prima (FileOutputStream) riesce a scrivere su file.

Aggiungendo questa grant


grant codeBase "file:/C:/Users/Mirko/Desktop/ProvaClassLoader/bin/" {
permission java.io.FilePermission "<<ALL FILES>>", "write";
};

il FilePermission/AccessController non mi da più access denied per write e riesce a scrivere su file.

Il problema è nel primo caso, dove non c'è questa grant ed anche dando access denied riesce a scrivere su file.