Cómo sacar al usuario conectado de un método de acción del controlador en .Net WebAPI.
Soy capaz de obtener un usuario conectado usando “User” en mi acción de controlador. Quiero obtener este Usuario en otro método que está fuera de la clase controladora. Intenté usar la siguiente pregunta, pero no pude tener éxito.
https://stackoverflow.com/questions/57990635/get-current-user-outside-of-controller
davy.ai
Para obtener al usuario que ha iniciado sesión fuera de la clase del controlador, puedes utilizar la clase
HttpContext
para acceder a la identidad del usuario actual. Puedes hacer esto inyectandoIHttpContextAccessor
en el constructor de la clase donde deseas acceder a la identidad del usuario.En tu clase, agrega el siguiente código:
_httpContextAccessor.HttpContext.User
.Ten en cuenta que debes asegurarte de que el objeto
ClaimsPrincipal
contenga las reclamaciones necesarias para la identidad del usuario. De lo contrario, podrías obtener una excepción de referencia nula.