Ciao Fabio,
si alla fine sono riuscita bene o male a risolvere il mio problema. Non ho dato permessi in base all'utente ma in base alle varie classi in questo modo:
codice:
grant codebase "file:./Main.jar"
{
permission javax.security.auth.AuthPermission "createLoginContext.studente";
permission javax.security.auth.AuthPermission "createLoginContext.professore";
permission javax.security.auth.AuthPermission "createLoginContext.segreteria";
};
grant codebase "file:./LM.jar"
{
permission java.net.SocketPermission "127.0.0.1:3306", "connect,resolve";
permission java.io.FilePermission "${user.home}/-", "write";
permission java.util.PropertyPermission "user.home", "read";
permission javax.security.auth.AuthPermission "modifyPrincipals";
permission javax.security.auth.AuthPermission "modifyPublicCredentials";
};
grant codebase "file:./App.jar"
{
permission java.net.SocketPermission "127.0.0.1:3306", "connect,resolve";
permission java.io.FilePermission "${user.home}/-", "write";
permission java.util.PropertyPermission "user.home", "read";
};
ma la cosa importante che devi fare per far funzionare queste grant è indicare i file .jar nel classpath del tuo pc.. puoi farlo in due diversi modi:
1-avvi il programma da riga di comando spostandoti nella cartella in cui c'è il main e in cui ci sono i .jar specificando il classpath giusto, ad esempio:
codice:
java -classpath App.jar;LM.jar;Main.jar MioProgramma //su Windows
java -classpath App.jar:LM.jar:Main.jar MioProgramma //su Linux
2-modifichi la variabile d'ambiente CLASSPATH:
in Windows devi andare su Pannello di Controllo/Sistema/Avanzate/Variabili d'ambiente e trovare e modificare CLASSPATH aggiungendo il percorso dei tuoi codebase separati l'uno dall'altro da un ;
in Ubuntu(dove ho lavorato io) devi modificare un file nascosto presente nella home dell'utente che si chiama .bashrc.. ovvero da terminale devi spostarti nella home e digitare
quando si apre il file inserisci un'ultima riga scrivendo:
codice:
export CLASSPATH="/home/nomeutente/workspace/MioProgramma/App.jar:/home/nomeutente/workspace/MioProgramma/LM.jar:/home/nomeutente/workspace/MioProgramma/Main.jar"
salvi e chiudi e riapri il terminale!
Cmq capisco perfettamente quando mi dici che non hai trovato quasi nulla di documentazione quindi se vuoi ti invio volentieri il mio codice, anche se non è completamente finito..
Se mi dai una mail te lo invio però visto che è un po' complesso, se vuoi puoi semplicemente dirmi cosa ti serve e vedo se riesco a darti una mano.
Fammi sapere.
Ciao.
Erika