[Plone-IT] Script, external methods e classi istanziate nell'external method - soluzione parziale

Fabrizio Reale fabrizio.reale a redomino.com
Ven 18 Nov 2011 13:26:30 UTC


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

Non mi sembra un approccio molto sano, piuttosto aggiungili alla classe del 
Python Script o meglio ancora fatti un prodotto che fa ne solo un monkey 
patch.

A presto,
Fabrizio


-- 
Fabrizio Reale
Chief Technology Officer
http://linkedin.com/in/fabrizioreale

Redomino Srl
http://redomino.com
HQ Largo Valgioie 14, Turin IT
Phone +39 0117499875


Maggiori informazioni sulla lista Plone-IT