Udostępnij za pośrednictwem


Aggiunta di utenti a livello di codice a un sito di attestazioni in SharePoint 2010

Articolo originale pubblicato sabato 14 gennaio 2012

Un amico mi ha sottoposto un problema interessante l'altro giorno.  Stava tentando di aggiungere un nuovo utente a livello di codice a un sito di attestazioni di Windows e riscontrava diverse difficoltà.  Il tentativo iniziale di aggiungere l'utente con il formato dominio\nomeutente e la classe SPRoleAssignment non ha funzionato.  Ha quindi tentato di fornire il valore codificato delle attestazioni relativo al nome dell'utente in vari modi ottenendo un esito positivo parziale, ma con alcuni effetti collaterali, come la doppia presenza del nome.  Benché non potessi esaminare personalmente tutte le variazioni e tutti i problemi, ho riscontrato che l'utilizzo del metodo EnsureUser in SPWeb ha funzionato al primo tentativo.  È molto più semplice che tentare in mille modi di ottenere la codifica di un nome di account; è inoltre molto più semplice poiché è sufficiente passare il nome di account anziché i quattro parametri di solito utilizzati per aggiungere un utente.  Con EnsureUser la codifica del nome avviene automaticamente e il codice risulta semplificato. 

Per maggiore completezza, ecco un breve esempio:

using (SPSite theSite = new SPSite("https://foo"))
{
  using (SPWeb theWeb = theSite.OpenWeb())
  {
    SPUser theUser = theWeb.EnsureUser("domain\username");
  }
}

 

Questo è un post di blog localizzato. Consultate l'articolo originale: Adding Users Programmatically to A Claims Site in SharePoint 2010