Newsgroup: it.comp.java
Titolo: java.security.AccessControlException: access denied

Ciao a tutti!
Ho scritto una classe che "aiuta" un'applet, e si trova nello stesso JAR 
e nello stesso CODEBASE di quest'applet. Questa classe riceve un XML da 
un socket, lo ricostituisce e poi tenta di ricostruire un oggetto 
"FartResultData" (il cui codice si trova nello stesso archivio JAR). Al 
momento della ricostruzione, con XStream, ricevo questo errore, generato 
dal classloader di xstream.
Qualcuno sa dirmi cosa potrei fare per evitarlo, e soprattutto cosa 
significa?
java.security.AccessControlException: access denied 
(java.lang.RuntimePermission createClassLoader)
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkCreateClassLoader(Unknown Source)
    at java.lang.ClassLoader.<init>(Unknown Source)
    at 
com.thoughtworks.xstream.core.util.CompositeClassLoader.<init>(CompositeClassLoader.java:39)
    at 
com.thoughtworks.xstream.core.DefaultClassMapper.<init>(DefaultClassMapper.java:28)
    at com.thoughtworks.xstream.XStream.<init>(XStream.java:144)
    at it.bocys.utils.xml.XMLTools.getObjectFromXML(XMLTools.java:26)
    at 
it.bocys.dbclient.ClientConnection.fastRunQuery(ClientConnection.java:88)
    at 
it.bocys.appletsrv.DocentiApplet.docenti_elenco(DocentiApplet.java:76)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.plugin.javascript.invoke.JSInvoke.invoke(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.plugin.javascript.JSClassLoader.invoke(Unknown Source)
    at sun.plugin.liveconnect.PrivilegedCallMethodAction.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin.liveconnect.SecureInvocation$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin.liveconnect.SecureInvocation.CallMethod(Unknown Source)
    at sun.plugin.liveconnect.SecureInvocation.access$300(Unknown Source)
    at 
sun.plugin.liveconnect.SecureInvocation$CallMethodThread.run(Unknown Source)
Please help

 significa?
Un' applet non puo' aprire socket
solo con l'host da dove proviene
oppure firmi il jar e gli dai le permissions necessarie. Inquesto caso chi
la scarica ricevera' un messaggio popup che dice: ti fidi di Pinco Pallino,
se si puoi fare tutto, anche formattargli il disco
ciao N
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


L'applet apre un socket con l'host da cui proviene (localhost...). Proma 
facevo la stessa cosa, ma con la serializzazione. Poi ho deciso di 
utilizzare XML, appoggiandomi a XStream per trasformare istanze in 
stringe xml, e qui sono iniziati i problemi di sicurezza. Non capisco 
perchč.

 perchè.
Xstrream non lo conosco
il tuo errore comunque dovrebbe derivare o da un tentativo di scrittura su
file locale
o da un tentativo di apertura di una socket non con la tua host di origine.
E se la classe volesse scrivere un file temporaneo per gestire l'xml ?
(abbastanza possibile )
prova un' altra cosa, al posto di localhost metti
appletcontext.getdocumentbase.gethost
( ma non ci conterei molto)
Accertati poi assolutamente che non apra altre socket in giro
