Il blog di Giuseppe Marchi - SharePoint MVP
NAVIGATION - SEARCH

La differenza tra le proprietà SiteUsers, Users e AllUsers della classe SPWeb

Ogni volta che dobbiamo recuperare un oggetto di tipo SPUser relativo ad un particolare utente del nostro sito utilizzando il suo login name, è molto probabile andare in confusione tra le proprietà Users, AllUsers e SiteUsers esposte dalla classe SPWeb propria del modello ad oggetti lato server di SharePoint.
Il più delle volte, infatti, si è portati ad utilizzare la proprietà Users per questo tipo di operazione. E, se l'utente non è stato esplicitamente inserito all'interno dei permessi del sito corrente (senza essere incluso in un gruppo), l'utilizzo di quella proprietà ci ritornerà un errore di questo tipo:

User cannot be found


E' bene quindi sapere la differenza che intercorre tra le tre proprietà in questione, per evitare di incappare sempre in questo errore. Ecco qua tutto spiegato:

- SPWeb.AllUsers: ritorna la collezione di oggetti che rappresentano tutti gli utenti che sono o membri del sito o che hanno navigato il sito come membri autenticati di un gruppo di dominio che ha permessi sul sito stesso.

- SPWeb.Users: ritorna la collezione di oggetti che rappresentano tutti gli utenti a cui sono stati assegnati dei permessi esplicitamente all'interno del sito corrente.

- SPWeb.SiteUsers: ritorna la collezione di utenti che fanno parte della site collection corrente.

Spero possa essere utile a qualcuno.
Buona domenica a tutti ! :)
blog comments powered by Disqus