In an aspx page I get the Windows username with the function Request.LogonUserIdentity.Name
. This function returns a string in the format "domain\user".
Is there some function to only get the username, without resorting to the IndexOf
and Substring
, like this?
public static string StripDomain(string username) { int pos = username.IndexOf('\\'); return pos != -1 ? username.Substring(pos + 1) : username; }
A domain user is one whose username and password are stored on a domain controller rather than the computer the user is logging into. When you log in as a domain user, the computer asks the domain controller what privileges are assigned to you.
If you are using Windows Authentication. This can simply be achieved by calling System.Environment.UserName
which will give you the user name only. If you want only the Domain name you can use System.Environment.UserDomainName
I don't believe so. I have got the username using these methods before-
var user = System.Web.HttpContext.Current.User; var name = user.Identity.Name; var slashIndex = name.IndexOf("\\"); return slashIndex > -1 ? name.Substring(slashIndex + 1) : name.Substring(0, name.IndexOf("@"));
or
var name = Request.LogonUserIdentity.Name; var slashIndex = name.IndexOf("\\"); return slashIndex > -1 ? name.Substring(slashIndex + 1) : name.Substring(0, name.IndexOf("@"));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With