Permessi per l'esecuzione di script

cancel
Showing results for 
Search instead for 
Did you mean: 
netciccio
Member II

Permessi per l'esecuzione di script

Ciao a tutti, sono nuovo e inizio ad utilizzare Alfresco per qualche progetto.
Sono Incappato nella seguente situazione:

L'utente 1 ha il permesso di aggiungere contenuti nello spazio A e non nello spazio B
L'utente 2 ha tutti permessi nello spazio B e nessuno nello spazio A.
Ho creato una regola che esegue uno script, quando viene caricato (in entrata) un documento dall'utente1nello spazio A. Lo script fa dei controlli e poi deve spostare il documento dallo spazio A, nello spazio B. Cosi che  l'utente 2 possa gestire il documento.

Il risultato e che lo script non viene eseguito.

Come si può fare?

Grazie 1000
5 Replies
openpj
Moderator
Moderator

Re: Permessi per l'esecuzione di script

Si può fare estendendo la Javascript API di Alfresco con la funzionalità RunAs che è presente all'interno dell'AuthenticationUtils.
In questo modo è possibile far eseguire lo script, o una sola porzione di esso, utilizzando come sessione utente, quella di un altro utente, o addirittura quella di un utente amministratore.

La Javascript API di Alfresco è basata su Mozilla Rhino e quindi è facilmente estendibile aggiungendo una classe Java che rappresenta un altro oggetto disponibile nello scope dello script.

Per poter estendere la Javascript API di Alfresco puoi dare un'occhiata a questa pagina del wiki:
http://wiki.alfresco.com/wiki/4.0_JavaScript_API#How_is_Scripting_integrated_into_Alfresco.3F

Spero ti sia utile  Smiley Wink
netciccio
Member II

Re: Permessi per l'esecuzione di script

Ti ringrazio, adesso cerchero ti applicarmi
Grazie 1000
netciccio
Member II

Re: Permessi per l'esecuzione di script

Scusatemi, ma ritorno sul problema.
Ho seguito l'indicazione, quella di utilizzare l'AuthenticationUtils.RunAs.
Il problema e che aparte il codice da aggiungere nello script, non riesco o meglio non so come estendere la Javascritp API.
Ho provato a modificare il file script-services-context.xml, cercando di aggiungere la class -> "org.alfresco.repo.security.authentication.AuthenticationUtils". Pero non so bene che parametri aggiungere o meglio non so se questa sia la strada corretta da seguire.

HELP  Smiley Surprised
openpj
Moderator
Moderator

Re: Permessi per l'esecuzione di script

Basta guardare il codice sorgente di Alfresco in cui puoi vedere che ogni oggetto della Javascript API, definito all'interno del file di Spring di Alfresco, estende un'opportuna classe di rhino (BaseScopable).

All'interno della tua classe puoi utilizzare la Foundation API di Alfresco in cui invocare i metodi opportuni, in questo caso l'AuthenticationUtils.runAs.

Spero ti sia utile  Smiley Wink
netciccio
Member II

Re: Permessi per l'esecuzione di script

Perdonami, ma è da poco che gioco con Alfresco.
Confido nella tua pazienza.

Mi dici: "Basta guardare il codice sorgente di Alfresco in cui puoi vedere che ogni oggetto della Javascript API, definito all'interno del file di Spring di Alfresco, estende un'opportuna classe di rhino (BaseScopable).
All'interno della tua classe puoi utilizzare la Foundation API di Alfresco in cui invocare i metodi opportuni, in questo caso l'AuthenticationUtils.runAs."

Considera che fino ad oggi  non ho mai guanrdado il codice di Alfresco e non saprei neanche dove guardare. Ho solo usato l'intefaccia web e l'ho integrata con degli script semplici (quelli degli esempi).

Posso chiederti esattamente i passi precisi da fare.
Grazie 1000  Smiley Happy