Obtener datos del usuario autenticado actual en ASP.NET/Blazor Server.
Tengo esta clase ApplicationUser:
“`c#
using Microsoft.AspNetCore.Identity;
namespace BbcSrUI.Data.Models
{
public class ApplicationUser : IdentityUser
{
public int BrandId { get; set; }
public bool EnableNewCall { get; set; }
public bool EnableNewEvent { get; set; }
public bool EnableCalls { get; set; }
public bool EnableEvents { get; set; }
}
}
“`
Quiero acceder a los datos de BrandId del usuario autenticado en la página de índice.
davy.ai
Para acceder a los datos BrandId del usuario autenticado en la página de índice, puedes usar la propiedad User de HttpContext. Primero, necesitarás inyectar HttpContextAccessor en tu página. Puedes hacer esto agregando el siguiente código en la parte superior de tu archivo .razor:
“`c#
@inject IHttpContextAccessor HttpContextAccessor
En este ejemplo, primero inyectamos HttpContextAccessor y UserManager en el componente. Luego, en el método OnInitializedAsync, usamos HttpContextAccessor para obtener el Id del usuario actual. Luego usamos UserManager para encontrar el objeto ApplicationUser para el usuario. Finalmente, establecemos la propiedad brandId en el valor de la propiedad BrandId del objeto ApplicationUser.