En un modelo de formularios, solía obtener el usuario registrado actualmente por:
Page.CurrentUser
¿Cómo consigo al usuario actual dentro de una clase de controlador en ASP.NET MVC?
c#
.net
asp.net-mvc
iis
forms-authentication
Serhat Ozgel
fuente
fuente
Descubrí que
User
funciona, es decir,User.Identity.Name
oUser.IsInRole("Administrator")
.fuente
Imports System.Web
y calificará aún másHttpContext.Current.User.Identity.Name
, o calificará directamente usando la sintaxis completa:System.Web.HttpContext.Current.User.Identity.Name
Tratar
HttpContext.Current.User
.fuente
Puede obtener el nombre del usuario en ASP.NET MVC4 de esta manera:
fuente
'System.Web.HttpContextBase' does not contain a definition for 'Current' and no extension method 'Current' accepting a first argument of type 'System.Web.HttpContextBase' could be found
, le sugiero que haga una llamada absoluta como estaSystem.Web.HttpContext.Current.User.Identity.Name
,.Me doy cuenta de que esto es muy antiguo, pero recién estoy comenzando con ASP.NET MVC, así que pensé en meter mis dos centavos:
Request.IsAuthenticated
le dice si el usuario está autenticado.Page.User.Identity
le proporciona la identidad del usuario conectado.fuente
Yo suelo:
No estoy seguro de que esto funcione en ASP.NET MVC, pero vale la pena intentarlo :)
fuente
iniciar sesión nombre de usuario:
System.Web.HttpContext.Current.User.Identity.Name
fuente
Para hacer referencia a una ID de usuario creada usando una autenticación simple integrada en ASP.NET MVC 4 en un controlador para fines de filtrado (lo cual es útil si está utilizando primero la base de datos y Entity Framework 5 para generar enlaces de código primero y sus tablas están estructuradas de modo que que se usa una clave externa para el ID de usuario), puede usar
una vez que agregue una declaración de uso
fuente
System.Security.Principal.WindowsIdentity.GetCurrent().Name
funciona enMVC 5
. Sin embargo, eso muestra el nombre de dominio con el nombre de usuario. es decir, dominio \ nombre de usuarioPodemos usar el siguiente código para obtener el usuario conectado actualmente en ASP.Net MVC:
también
fuente
Nombre de usuario con:
Pero si necesita obtener solo la identificación, puede usar:
Entonces, puede obtener directamente la ID de usuario:
fuente
Esta página podría ser lo que está buscando:
Usar Page.User.Identity.Name en MVC3
Sólo se necesita
User.Identity.Name
.fuente
Uso
System.Security.Principal.WindowsIdentity.GetCurrent().Name
.Esto obtendrá el usuario actual de Windows conectado.
fuente
Para lo que vale, en ASP.NET MVC 3 solo puede usar Usuario, que devuelve al usuario para la solicitud actual.
fuente
Si está dentro de su página de inicio de sesión, en el evento LoginUser_LoggedIn, por ejemplo, Current.User.Identity.Name devolverá un valor vacío, por lo que debe usar la propiedad yourLoginControlName.UserName.
fuente
Puedes usar el siguiente código:
fuente
fuente
fuente
Si está trabajando en Active Directory en una intranet, aquí hay algunos consejos:
(Windows Server 2012)
Ejecutar cualquier cosa que hable con AD en un servidor web requiere muchos cambios y paciencia. Dado que cuando se ejecuta en un servidor web frente a IIS / IIS Express local, se ejecuta en la identidad del AppPool, por lo que debe configurarlo para suplantar a quien visita el sitio.
Cómo obtener el usuario con sesión iniciada actual en un directorio activo cuando su aplicación ASP.NET MVC se ejecuta en un servidor web dentro de la red:
Debe ajustar las llamadas que tengan que ver con el 'contexto de directorio activo' a continuación para que actúe como el entorno de alojamiento para obtener la información de AD:
También debe haber
impersonate
establecido en verdadero en su web.config:Debe tener la autenticación de Windows activada en web.config:
fuente
En Asp.net Mvc Identity 2, puede obtener el nombre de usuario actual al:
fuente
En el Administrador de IIS, en Autenticación, deshabilite: 1) Autenticación anónima 2) Autenticación de formularios
Luego agregue lo siguiente a su controlador, para manejar las pruebas versus la implementación del servidor:
fuente