繁体   English   中英

ASP.Net Core 身份和配置文件数据

[英]ASP.Net Core Identity and Profile Data

我有几个关于在 AspNet Core Identity 中存储额外用户数据(例如用户照片和个人资料数据)的问题。 最好的解决办法是把地址(城市,地区等)和用户的头像单独存放在一个数据库表中,PK作为用户表的FK(防止用户表增长很多),或者最好把这个额外的保存起来用户投诉数据?

UserClaims 表是否仅适用于来自第三方(如 Google、Facebook)的声明,或者我可以如上所述使用它吗?

我希望我说得很清楚。 谢谢

最好的解决办法是把地址(城市,地区等)和用户的头像单独存放在一个数据库表中,PK作为用户表的FK(防止用户表增长很多),或者最好把这个额外的保存起来用户投诉数据?

通常我们会将用户的配置文件数据存储在AspNetUsers表中。

如果你想防止AspNetUsers表增长很多,正如你提到的,使用单独的表来存储头像、区域和城市等用户数据,并在UserProfileApplicationUser之间建立关系是可以的。 但请注意,它可能需要从多个表中查询才能获得预期数据。

public class UserProfile 
{
    public string UserProfileId { get; set; }

    public string City { get; set; }
   
    //...
    //other properties
    //...

    public string UserId { get; set; }

    public ApplicationUser User { get; set; }
}

此外, AspNetUserClaims存储与应用程序用户关联的声明。 我们可以根据实际场景使用以下代码片段为用户添加指定的声明。

await _userManager.AddClaimAsync(user, new Claim("type_here", "value_here"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM