Il 16/11/2011 17.44, Fabrizio Reale ha scritto:
Ciao Giacomo,
Guarda il sorgente dell'oggetto Python Script, dovrebbe trovarsi facilmente
l'elenco delle classi autorizzate.
A presto,
Fabrizio
ok, per il momento, seguendo la strada da te indicata, sono arrivato ad
una soluzione (forse non perfetta).
Ho scoperto che esiste una funzione allow_class() per aggiungere una
classe a quelle permesse.
l'external method che richiamo adesso aggiunge MyClass alle classi
permesse nei PythonScript, prima di restituirne una istanza ed è così
definito:
def getMyClass():
from AccessControl import allow_class
allow_class(getMyClass)
return getMyClass()
...e nel mio PythonScript, posso mettere istruzioni come queste:
istanza1 = getInstanceOfMyClass()
istanza1.faiQualcosa() <--- questa istruzione non causa piu' un errore
di sicurezza
DOMANDA: SE allow_class(getMyClass) viene richiamato piu' di una volta,
ci sono controindicazioni? (liste immense di classi permesse,
rallentamenti, memoria occupata che cresce ad ogni chiamata...)
Giacomo
Nota:
Ho verificato che una volta eseguito allow_class(), non sarebbe
necessario richiamarlo piu' fino al successivo riavvio del server.
(insomma, come è logico, una volta aggiunto non serve aggiungerlo di
nuovo... ma non mi sembra esista una funzione isAllowed(nome_classe) per
verificare la cosa.
_______________________________________________
Plone-IT mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-plone-it
http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html