2009-06-18 20 views

risposta

2

Da 1.4 dinamico ProtectionDomain s può delegare allo Policy. È improbabile che la rimozione dinamica delle autorizzazioni dal codice abbia senso. Le due forme di argomento di AccessController.doPrivileged potrebbero anche essere utili.

+1

Stiamo sviluppando un framework basato su OSGi, che dovrebbe essere di lunga durata ed evitare il più possibile il riavvio. Il framework è SAAS, ma il cliente è in grado di distribuire i propri bundle (plug-in) al sistema. Quindi, per noi sarebbe bello modificare i permessi in fase di runtime. –

2

Javadoc dice che Policy.refresh() per criteri basati su file rileggerebbe il file. Pertanto, è possibile modificare la politica a livello di sistema in fase di esecuzione modificando il file di criteri e chiamando Policy.refresh()

+2

Scoprirai che le autorizzazioni sono già state copiate dalla politica e in ProtectionDomains of Classes e ClassLoaders. –

+2

Questo funzionava bene quando ho impostato il criterio tramite '' System.setProperty ("java.security.policy", policyURL) '', quindi aggiornando '' Policy.policy.refresh() '' e successivamente l'installazione del security manager '' System.setSecurityManager (nuovo SecurityManager()); ''. – BenR

2

È possibile impostare l'implementazione di criteri personalizzati, utilizzando il metodo Policy.setPolicy(). Per esempio vedi il libro JAAS in Action.

Problemi correlati