如何在mvc 5 Identity中获取和设置自定义用户信息?

时间:2016-10-26 12:08:26

标签: c# asp.net asp.net-mvc-5 asp.net-identity

我目前的代码如下。

DataTemplate

我想在ApplicationUser类中添加更多属性,以便这些字段可用于

等视图
LayerCollection

我的登录操作位于here

1 个答案:

答案 0 :(得分:1)

能够顺其自然:

1 - 您需要为该用户创建一个声明

HttpContext.Current.GetOwinContext().GetUserManager<UserManager>().AddClaimsAsync(UserId, new Claim("FullName", "The value for the full name"));

2 - 为用户添加声明后,您可以使用此声明。我创建了这个扩展类,因此我可以在视图中获得声明值。

public static class IdentityExtensions
{
    public static string FullName(this IIdentity identity)
    {
        return ((ClaimsIdentity)identity).FindFirst("FullName")?.Value;
    }
}

有了这个,您可以将其称为@User.Identity.FullName()