I want to get the username of the logon username and domain. My code for getting it, is in a controller:
User.Identity.GetUserId()
In my web.config is:
<system.web>
<identity impersonate="false"/>
<authentication mode="Windows" />
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime />
<pages controlRenderingCompatibilityVersion="4.0" />
</system.web>
Currently, I only get a empty string. What I have to change to get the Windows username information?
Sidenote for others : While my research, I also got to the following:
Environment.UserDomainName + @"\" + Environment.UserName
In reference to this , it only delivers the identity in which the thread is running and not the windows information.
EDIT1: I'm currently testing my program in debugging mode.
User.Identity.GetUserId()
is an extension method from Microsoft.AspNet.Identity
. Identity is incompatible with Windows Auth (you have to use one or the other), so I'm not sure what you're actually doing here.
Generally speaking, in Windows Auth, the value of User.Identity.Name
will be in the form of {DOMAIN}\\{USER}
. So if you wanted the domain and/or username, you can split that string on \\
and take the part you're after.
When it comes to Identity, User.Identity.Name
should be the value of ApplicationUser.UserName
, but depending on the setup, it might be ApplicationUser.Email
.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.