cancel
Showing results for 
Search instead for 
Did you mean: 

Aggiornamento utente

konda
Champ in-the-making
Champ in-the-making
Ciao a tutti,

Avrei una domanda particolare: vorrei modificare una proprietà di un utente tramite chiamata PUT al servizio /alfresco/service/api/people/{userName}.

Tuttavia, che tipologia di utente può effettuare questa operazione? Solo l'amministratore o anche l'utente stesso? Chiedo questo perchè l'invocazione avverrebbe tramite l'utilizzo di un ticket.

Grazie
5 REPLIES 5

davidciamberlan
Elite Collaborator
Elite Collaborator
Ciao.

il webscript riporta come livello di autenticazione richiesta "user" quindi non è necessario essere amministratori per poterlo utilizzare (puoi vederlo dal descrittore richiamando l'url http://localhost:8080/alfresco/service/description/org/alfresco/repository/person/person.put).

Ciao

Sono d'accordo infatti l'invocazione funziona senza problemi e mi restituisce anche status 200 OK. Tuttavia, vedo che in realtà non ha modificato i campi che ho richiesto (nello specifico, 'mobile'). Pensi possa essere perchè l'utente con cui sono autenticato non abbia abbastanza privilegi?

Ciao,

Puoi postare la chiamata PUT che esegui?

Non penso sia un problema di privilegi. In ogni caso è semplice verificare: prova a ripetere la stessa chiamata con un utente amministratore e vedi se cambia qualcosa.

Ciao


<java>


HttpClient client = new HttpClient();
      String apiurl = alfrescoURL   +"/service/api/people/"+userName+"?alf_ticket="+adminTicket;
      logger.debug("Invoco: "+apiurl);
      try {
         JSONObject site = new JSONObject();

         site.put("mobile", idNotifichePush);

         PutMethod put = new PutMethod(apiurl);
         put.setRequestHeader("Content-Type", "application/json");
         put.setRequestEntity(new StringRequestEntity(site.toString(),
               "application/json", "UTF-8"));


         int status = client.executeMethod(put);

</java>

Domani verifico con un ticket da amministratore e ti faccio sapere. Così comunque la chiamata va a buon fine e restituisce status code 200.

Ciao,

ho fatto ulteriori verifiche… ho usato la chiamata all'api in modo analogo a come hai fatto tu e funziona (ma non ho controllato la correttezza del tuo codice!)

Invece può essere un problema di permessi. Infatti (qualcuno dei guru mi conferma questa cosa?) solo gli utenti appartenenti al gruppo amministrativo possono modificare altri utenti.

La cosa strana nel tuo caso è che ti viene restituito un codice 200 invece del 500 previsto, che ti avrebbe fatto capire subito il problema.