Full Loginname für SPWeb.EnsureUser()
Gerade hatte ich das Problem, einen Benutzer aus dem AD auszulesen und im Sharepoint zu berechtigen. Das Problem hierbei war, das man aus dem sAMAccountName nur den Teil des Namens bekommt und nicht etwa die Domain dazu.
Es wird aber für web.EnsureUser() genau der komplette Loginname benötigt.
Des Rätsels Lösung:
public static string GetLoginName(string alias) { NTAccount nt = new System.Security.Principal.NTAccount(alias); SecurityIdentifier sid = (SecurityIdentifier)nt.Translate(typeof(SecurityIdentifier)); nt = (NTAccount)sid.Translate(typeof(NTAccount)); return nt.Value; }
Hat mir jedenfalls eine Menge gefrickel erspart! Danke Dan

