Claim – Añadir los nombres del usuario al User.Identity

Por defecto cuando hacemos Login en nuestra aplicación, se muestra el email o nombre de usuario:, hay forma de añadirle al objeto User más propiedades, suponiendo que ya hemos aumentado algunas más como, nombres apellidos, teléfonos, etc. Por lo gral. al comienzo se muestra asi:

Hola micuenta@tudominio.com

La idea es mostrar el nombre del usuario u otro dato comprendido entre los ingresados en el User.Identity.

Para ello tenemos que adicionar ese campo dentro del <ClaimsIdentity>

Nos vamos a la clase IdentityModel.cs y se supone que en este punto ya tenemos agregado el campo de nombres con todos los cambios que eso implica, como referencia es a esto a lo que me refiero:

public string Nombres { get; set; }

public string Apellidos { get; set; }

Agregamos la siguiente línea de código en la clase GenerateUserIdentityAsync que viene por defecto y con la indicación de en donde agregar dicho línea.

userIdentity.AddClaim(new Claim(«FullName», this.Nombres));

Nos vamos a la vista parcial del login _LoginPartialClass para leer el Claim que acabamos de agregar.

@using System.Security.Claims
@{
var FullName = "";
if(User != null) {
var Iden = (System.Security.Claims.ClaimsIdentity)Context.User.Identity;
var ClaimFullName = Iden.Claims.FirstOrDefault(c => c.Type == "FullName");
if(ClaimFullName != null)
{
FullName = ClaimFullName.Value;
}
}
}

@Html.ActionLink(«Hola » + FullName + » «, «Index», «Manage», routeValues: null, htmlAttributes: new { title = «Manage» })

Y listo.

También te puede interesar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *