Quiero obtener el nombre de usuario utilizando la autenticación de Windows
Actualmente he implementado "Iniciar sesión como usuario diferente", cuando haga clic en este botón de seguridad de Windows aparecerá allí podemos dar credenciales.
En ese momento si doy alguna otra credencial se está tomando el nombre de usuario actual solamente. ¿Cómo obtener ese nombre de usuario credencial dada de seguridad de Windows?
La autenticacion anonima esta deshabilitada y la autenticacion de windows esta habilitada.
web.config:
<system.web>
<compilation debug="true" targetFramework="4.0" />
<identity impersonate="true"/>
<authorization>
<allow users="*"/>
<deny users="*"/>
</authorization>
</system.web>
<system.webServer>
<directoryBrowse enabled="true" />
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
.cs
Aquí estoy recibiendo el nombre de usuario por defecto siempre
string fullName = Request.ServerVariables["LOGON_USER"];
¿Alguna idea? Gracias de antemano
Puede obtener el objeto WindowsIdentity del usuario en Autenticación de Windows mediante:
WindowsIdentity identity = HttpContext.Current.Request.LogonUserIdentity;
y entonces usted puede obtener la información sobre el usuario como identity.Name.
Tenga en cuenta que necesita tener HttpContext para este código.
Esto debería funcionar:
User.Identity.Name
Identity
devuelve un IPrincipal
Aquí está el enlace a la documentación de Microsoft.