There are a lot of login authentications in SharePoint, different ways of certification for SharePoint user is different, as well as property.
In SharePoint 2010 you can get user login name by using:
public static SPPrincipal EnsurePeople(SPWeb web, string peopleName) { SPPrincipal principal = GetPeople(web, peopleName); if (principal != null) { return principal; } else { try { SPUser user = null; SecurityUtility.RunWithSystemAccountPrivileges(web, delegate(SPWeb delegateWeb) { delegateWeb.AllowUnsafeUpdates = true; user = delegateWeb.EnsureUser(peopleName); delegateWeb.AllowUnsafeUpdates = false; }); return user; } catch { return null; } } } public static string GetDecodeUserName(string userName) { if (!string.IsNullOrEmpty(userName)) { SPPrincipal people = PeopleUtility.EnsurePeople(SPContext.Current.Web, userName); if (people != null) { string loginName = people.LoginName; if (SPClaimProviderManager.IsEncodedClaim(loginName)) { SPClaim claim = SPClaimProviderManager.Local.DecodeClaim(loginName); SPOriginalIssuerType issuerType = SPOriginalIssuers.GetIssuerType(claim.OriginalIssuer); switch (issuerType) { case SPOriginalIssuerType.ClaimProvider: case SPOriginalIssuerType.Forms: case SPOriginalIssuerType.SecurityTokenService: case SPOriginalIssuerType.TrustedProvider: case SPOriginalIssuerType.Unknown: userName = SPClaimProviderManager.Local.DecodeClaim(loginName).Value; break; case SPOriginalIssuerType.Windows: userName = SPClaimProviderManager.Local.ConvertClaimToIdentifier(loginName); break; default: break; } } else { userName = people.LoginName; } } } return userName; }
In sharepoint 2013 you can get user login name by using:
SPClaimProviderManager claimManager = SPClaimProviderManager.Local; SPClaim userClaim = claimManager.ConvertSPUserToClaim(user); string loginName = claimManager.ConvertClaimToIdentifier(userClaim.ToEncodedString()); // given a Windows user encoded claim, this method will return a string in the DOMAIN\USERNAME format.
Articles for reference:
How Claims encoding works in SharePoint 2010 – Writen by Wictor Wilen, SharePoint MCA, MCSM, MCM and MVP
SPClaimProviderManager Methods by Microsoft