[英]ASP.Net Core Identity and Profile Data
我有几个关于在 AspNet Core Identity 中存储额外用户数据(例如用户照片和个人资料数据)的问题。 最好的解决办法是把地址(城市,地区等)和用户的头像单独存放在一个数据库表中,PK作为用户表的FK(防止用户表增长很多),或者最好把这个额外的保存起来用户投诉数据?
UserClaims 表是否仅适用于来自第三方(如 Google、Facebook)的声明,或者我可以如上所述使用它吗?
我希望我说得很清楚。 谢谢
最好的解决办法是把地址(城市,地区等)和用户的头像单独存放在一个数据库表中,PK作为用户表的FK(防止用户表增长很多),或者最好把这个额外的保存起来用户投诉数据?
通常我们会将用户的配置文件数据存储在AspNetUsers表中。
如果你想防止AspNetUsers表增长很多,正如你提到的,使用单独的表来存储头像、区域和城市等用户数据,并在UserProfile
和ApplicationUser
之间建立关系是可以的。 但请注意,它可能需要从多个表中查询才能获得预期数据。
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.