Have a look at System.Security.Principal;
e.g.
WindowsPrincipal principal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
Console.WriteLine(principal.Identity.Name);
Console.WriteLine(string.Format("User is administrator = {0}", principal.IsInRole("Administrators")));
You could then query Active Directory to retrieve additional information about the user
using(DirectoryEntry de = new DirectoryEntry("LDAP://MyDomainController"))
{
using(DirectorySearcher adSearch = new DirectorySearcher(de))
{
adSearch.PropertiesToLoad.Add("sn");
adSearch.PropertiesToLoad.Add("givenName");
adSearch.PropertiesToLoad.Add("mail");
adSearch.PropertiesToLoad.Add("telephoneNumber");
adSearch.Filter = "(sAMAccountName=someuser)";
SearchResult adSearchResult = adSearch.FindOne();
}
}