Revision: 40539
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 3, 2011 10:00 by lance
Initial Code
public UserPrincipal GetLoggedInUser() { try { //Get the principal logged in user WindowsPrincipal principal = System.Threading.Thread.CurrentPrincipal as WindowsPrincipal; //split the principal identity name from the domain and put them in an array string delimiter = "\\"; string userAndDomain = principal.Identity.Name.ToString(); string[] arrayName = userAndDomain.Split(delimiter.ToCharArray()); //Get the context of this action based on the first item in the arrayName which is the domain PrincipalContext pc = new PrincipalContext(ContextType.Domain, arrayName[0]); //Get the userprincipal (user) by matching the username in active directory and the name in the array UserPrincipal p = UserPrincipal.FindByIdentity(pc, IdentityType.SamAccountName, arrayName[1]); //make sure the userprincipal is a directoryentry then get the user if (p.GetUnderlyingObjectType() == typeof(DirectoryEntry)) { DirectoryEntry user = (DirectoryEntry)p.GetUnderlyingObject(); //The EmpID is located in the wwwHomePage field in AD if (user.Properties["wwwHomePage"].Count > 0) { //set a variable to the wwwHomePage property so we can return it empID = Convert.ToInt32(user.Properties["wwwHomePage"].Value); } else { empID = 0; } } return p; } catch (Exception ex) { return null; } }
Initial URL
Initial Description
Initial Title
Get logged in user from Active Directory and then get some of their AD attributes
Initial Tags
directory
Initial Language
C#