- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想存储一些额外的用户信息。据我了解,以下是通常的选择:
public class ApplicationUser : IdentityUser {
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager) {
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
public string FirstName { get; set; }
public string LastName { get; set; }
}
最佳答案
在一天结束时,您的登录用户将被转换为一系列声明,这些声明存储在 HttpContext.User.Identity 中代表您的用户的 ClaimsIdentity 中。您可以选择将名字/姓氏存储为用户表中的列,然后您可以显式读出并转换为适当的声明(如果需要),或者您可以将它们直接存储为 AspnetUserClaims 表中的声明(它只是存储它们作为两个字符串列),默认情况下会自动添加到您用户的声明标识中。两种方法或多或少是等效的,因此取决于个人喜好。
顺便说一句,您希望在用户的 ClaimsIdentity 中使用这些内容的唯一原因是,如果您只想保存数据库命中以显示名称,并且始终在 ClaimsIdentity 中使用 FirstName/LastName 声明。如果您获取用户并改用 user.FirstName,则生成名称声明也没有太大值(value)。
关于asp.net - 使用 Asp.Net Identity 2 在 AspNetUserClaims 中存储用户信息有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23215727/
我在我的解决方案中使用 Microsoft.AspNet.Identity.Core 2.2.1。我需要将其与另一个应自动添加声明的系统集成。 为了跟踪哪些声明是手动添加的以及哪些声明是由外部系统创建
我想存储一些额外的用户信息。据我了解,以下是通常的选择: public class ApplicationUser : IdentityUser { public async Task
我仍然对所有这些身份问题感到困惑。 首先,我仍然对角色、政策/声明之间的区别感到困惑。据我了解,角色是旧的处理方式,并且保留是为了向后兼容,那么这是否意味着 AspNetRoleClaims 是向后兼
我们的应用程序不需要身份使用的过多“登录”和“声明”功能。如果没有在数据库中创建这些表 simlpy 就好了,但我不想重新实现所有身份类... 我猜是这样的 public ApplicationDbC
我是一名优秀的程序员,十分优秀!