es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , , ,

Answer

  1. Avatar for 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


    Luego, puedes acceder a la propiedad BrandId de la clase ApplicationUser usando el UserManager de HttpContext. Puedes obtener el Id del usuario actual y luego usarlo para encontrar el objeto ApplicationUser de UserManager. Finalmente, puedes acceder a la propiedad BrandId del objeto ApplicationUser. Aquí está un ejemplo: ```c# @page "/" @inject IHttpContextAccessor HttpContextAccessor @inject UserManager<applicationuser> UserManager <h1>Bienvenido a tu página de inicio</h1> @code { private int brandId; protected override async Task OnInitializedAsync() { var userId = HttpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value; var user = await UserManager.FindByIdAsync(userId); if (user != null) { brandId = user.BrandId; } else { // Manejar caso de usuario nulo } } }

    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.

Comments are closed.