咨询ASP.NET Identity脚手架生成各数据表的含义与用途
ASP.NET Identity 核心数据表详解
针对你疑惑的几个ASP.NET Identity脚手架生成的表,下面直接说明它们的含义和用途:
UserClaims 表
- 含义:存储单个用户的**声明(Claim)**数据,声明是键值对形式的用户属性或权限标识
- 用途:实现细粒度的用户权限控制或存储用户个性化属性。比如给某用户单独设置
CanViewConfidentialData=True权限,或者存储用户的工号、部门等额外信息——这些内容不适合放在Users表的固定字段里。
UserLogins 表
- 含义:记录用户与第三方登录平台的关联关系
- 用途:支持第三方登录功能。当用户用Google、GitHub等外部账号登录你的应用时,这个表会保存第三方平台的用户ID、登录提供者名称(如
Google),以及对应的本地用户ID。下次用户用同一第三方账号登录时,系统能直接匹配到本地用户,无需重复注册。
RoleClaims 表
- 含义:存储整个角色的**声明(Claim)**数据,是角色级别的权限或属性配置
- 用途:给角色批量赋予权限,所有属于该角色的用户都会继承这些声明。比如给
Editor角色添加CanPublishArticles=True声明,那么所有编辑角色的用户都自动拥有发布文章的权限,无需逐个用户配置。
UserTokens 表
- 含义:存储用户的各类令牌数据
- 用途:
- 保存JWT认证的刷新令牌,用于用户身份凭证续期
- 存储第三方登录返回的持久化令牌,方便后续调用第三方平台的API(比如获取用户的微信信息)
- 存储自定义业务场景需要的用户令牌,比如用于验证用户操作的一次性令牌
内容的提问来源于stack exchange,提问作者Mat
相关产品推荐
相关产品推荐

