2010-09-14 18 views
7

J'ai l'ID de connexion de cet utilisateur. Mais dans le code, je veux convertir ce nom de connexion en objet SPUser. Puis-je convertir LoginName (type chaîne) en SPUser. Ou existe-t-il un moyen de convertir le jeton d'utilisateur d'identité Windows en SPUser. J'ajoute des utilisateurs à un groupe (ce qui n'existe pas sur le site). Tout ce que j'ai, c'est un jeton utilisateur Windows.Comment obtenir l'objet SPUser en utilisant l'ID utilisateur (nom_domaine ID_utilisateur)

Répondre

21

Jetez un coup d'œil à SPWeb.EnsureUser. De MSDN:

«Vérifie si le nom de connexion spécifié appartient à un utilisateur valide du site Web et si le nom de connexion n'existe pas déjà, l'ajoute au site Web.

occasion ainsi:

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

Faites attention avec EnsureUser - cela crée un nouvel utilisateur s'il ne trouve pas celui que vous recherchez –

+0

Comment faire si j'ai besoin d'un nom d'utilisateurs qui ne soit pas nécessairement ajouté au site, mais ils sont présents dans ActiveDirectory par exemple? (et je n'ai pas besoin qu'ils soient ajoutés au site) – rolivares

+0

@rolivares - Vous avez juste besoin de leur nom d'affichage? – CBono

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

Je suis des utilisateurs à un groupe. Donc il dose pas exister sur le site. – sssreddy

+1

donc utilisez EnsureUser, comme décrit dans CBono post –