2010-09-14 8 views
7

Ho l'ID di accesso di tale utente. Ma nel codice voglio convertire quel nome di login in SPUser Object. Posso convertire LoginName (tipo stringa) in SPUser. O c'è un modo per convertire il token utente di identità Windows in SPUser. Sto aggiungendo utenti a uno spgroup (quindi non esiste sul sito). Tutto quello che ho è un token utente di Windows.Come ottenere l'oggetto SPUser utilizzando l'id utente (nome_dominio userid)

risposta

21

Dai uno sguardo allo SPWeb.EnsureUser. Da MSDN:

"Verifica se il nome di accesso specificato appartiene a un utente valido del sito Web e se il nome di accesso non esiste già, lo aggiunge al sito Web."

utilizzati nel seguente modo:

SPUser newUser = SPContext.Current.Web.EnsureUser(@"domain\logonname"); 
+8

Fai attenzione con ConfirmUser - crea un nuovo utente se non trova quello che stai cercando –

+0

Come faccio a farlo se ho bisogno di nome da utenti che non sono stati aggiunti necessariamente al sito ma sono presenti in ActiveDirectory per esempio? (e non ho bisogno che vengano aggiunti al sito) – rolivares

+0

@rolivares - Hai solo bisogno del loro nome visualizzato? – CBono

9
SPUser user = SPContext.Current.Web.Users["domain\\login"]; 
+0

sto aggiungendo utenti a un gruppo. Quindi non esiste una dose sul sito. – sssreddy

+1

, quindi usa ConfirmUser, come descritto in CBono post –

Problemi correlati