ABP vNext 扩展 CurrentUser

ABP内置Users表,我们可以对其字段进行扩展,辅助进行更详细的数据记录

ICurrentUser 是主要的服务,用于获取有关当前活动的用户信息.

	以下是 ICurrentUser 接口的基本属性:1. IsAuthenticated 如果当前用户已登录(已认证),则返回 true. 如果用户尚未登录,则 Id 和 UserName2. 将返回 null. 	Id (Guid?): 当前用户的Id,如果用户未登录,返回 null. 	UserName (string):3. 当前用户的用户名称. 如果用户未登录,返回 null. 	TenantId (Guid?): 当前用户的租户Id. 对于多租户4. 应用程序很有用. 如果当前用户未分配给租户,返回 null. 	Email (string): 当前用户的电子邮件地址.5. 如果当前用户尚未登录或未设置电子邮件地址,返回 null. 	EmailVerified (bool):6. 如果当前用户的电子邮件地址已经过验证,返回 true. 	PhoneNumber (string): 当前用户的电话号码.7. 如果当前用户尚未登录或未设置电话号码,返回 null. 	PhoneNumberVerified (bool):8. 如果当前用户的电话号码已经过验证,返回 true. 	Roles (string[]): 当前用户的角色.9. 返回当前用户角色名称的字符串数组.

如何将扩展字段加入ICurrentUser :

找到Domain类库下的 IdentityServerDataSeedContributor.cs,增加想要扩展的字段别名

在这里插入图片描述
在Application类库创建MyUserClaimsPrincipalFactory工厂
在这里插入图片描述

namespace Creating.Drgs.Hospital.IdentityServer
{[Volo.Abp.DependencyInjection.Dependency(ReplaceServices = true)][ExposeServices(typeof(AbpUserClaimsPrincipalFactory))] // 替换旧的AbpUserClaimsPrincipalFactorypublic class MyUserClaimsPrincipalFactory : AbpUserClaimsPrincipalFactory, IScopedDependency{public MyUserClaimsPrincipalFactory(){}public override async Task<ClaimsPrincipal> CreateAsync(Volo.Abp.Identity.IdentityUser user){//获取当前登录人信息var principal = await base.CreateAsync(user);var identityPrincipal = principal.Identities.First();//扩展信息identityPrincipal.AddClaim(new Claim("doctor",  user.Name));return principal;}}
}
FindClaim: 获取给定名称的声明,如果未找到返回 null
FindClaims: 获取具有给定名称的所有声明(允许具有相同名称的多个声明值).
FindClaimValue: 获取具有给定名称的声明的值,如果未找到返回 null. 它有一个泛型重载将值强制转换为特定类型.
CurrentUser.FindClaimValue("doctor")  //读取扩展信息

ABP Framework 中文文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/258653.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

采用轨到轨输出设计 LTC6363HMS8-2、LTC6363HMS8-1、LTC6363HRD、LTC6363IDCB差分放大器I

产品详情 LTC6363 系列包括四个全差分、低功耗、低噪声放大器&#xff0c;具有经优化的轨到轨输出以驱动 SAR ADC。LTC6363 是一款独立的差分放大器&#xff0c;通常使用四个外部电阻设置其增益。LTC6363-0.5、LTC6363-1 和 LTC6363-2 都有内部匹配电阻&#xff0c;可分别创建…

为什么感染HPV的人越来越多?劲松中西医结合医院专家发表看法

近年来&#xff0c;HPV感染率在我国呈现上升趋势&#xff0c;引起了社会的广泛关注。HPV是一种人乳头瘤病毒&#xff0c;主要通过性接触传播&#xff0c;也是引起宫颈癌的主要原因之一。那么&#xff0c;为什么我国的HPV感染率如此高呢&#xff1f; 首先&#xff0c;我们需要了…

机器学习基础知识分享:深度学习

深度学习&#xff08;Deep Learning&#xff09;是近年来发展十分迅速的研究领域&#xff0c;并且在人工智能的很多子领域都取得了巨大的成功&#xff0e;从根源来讲&#xff0c;深度学习是机器学习的一个分支&#xff0c;是指一类问题以及解决这类问题的方法。 深度学习 为了…

2023年12月8日:UI登陆界面

作业 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMovie> #include <QPushButton> #include <QDebug>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpub…

P3 Qt 控件 —— pushButton

前言 &#x1f3ac; 个人主页&#xff1a;ChenPi &#x1f43b;推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ &#x1f525; 推荐专栏2: 《Linux C应用编程&#xff08;概念类&#xff09;_ChenPi的博客-CSDN博客》✨✨✨ &#x1f33a;本篇简介 &#xff1a;这一章我们学一…

【Go】protobuf介绍及安装

目录 一、Protobuf介绍 1.Protobuf用来做什么 2. Protobuf的序列化与反序列化 3. Protobuf的优点和缺点 4. RPC介绍 <1>文档规范 <2>消息编码 <3>传输协议 <4>传输性能 <5>传输形式 <6>浏览器的支持度 <7>消息的可读性和…

luceda ipkiss教程 42:获取版图所有的电端口

通过判断版图端口的domain.name&#xff0c;可以知道端口是电端口还是光端口&#xff1a; 如&#xff1a; 可以通过如下代码获取两个电端口&#xff08;anode和cathode&#xff09;的信息&#xff1a; from si_fab import all as pdkdef get_electrical_ports(layout):ports …

广州华锐互动:VR汽车构造虚拟仿真平台开启全新汽车购买体验

随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术已经逐渐渗透到我们生活的各个领域&#xff0c;为我们带来了前所未有的沉浸式体验。在汽车行业&#xff0c;VR技术的应用也日益广泛&#xff0c;尤其是在汽车展示和销售环节。今天&#xff0c;我们就来聊…

iOS Swift 代码格式化工具

如果你的代码写得很乱&#xff0c;想一键盘整理代码&#xff0c;像大家推荐一款工具 &#xff08;PS&#xff1a;Xcode本身并没有代码格式化工具&#xff0c;这款工具为第三方开发的&#xff09; 这款工具名为&#xff1a;SwiftFormat 1&#xff1a;在GitHub上搜索“SwiftFo…

机器学习第15天:GBDT模型

☁️主页 Nowl &#x1f525;专栏《机器学习实战》 《机器学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 ​​ 文章目录 GBDT模型介绍 Boosting 残差 GBDT的缺点 python代码实现 代码 模型参数解释 结语 GBDT模型介绍 GBDT&#xff08;Gradient Boos…

多功能智能遥测终端机 5G/4G+北斗多信道 视频采集传输

计讯物联多功能智能遥测终端机&#xff0c;全网通5G/4G无线通信、弱信号地区北斗通信&#xff0c;多信道自动切换保障通信联通&#xff0c;丰富网络接口及行业应用接口&#xff0c;支持水利、环保、工业传感器、控制终端、智能终端接入&#xff0c;模拟量/数字量/信号量采集&am…

【FPGA】Verilog:BCD 加法器的实现

0x00 XOR 运算在 2 的补码加减法中的应用 2 的补码加减法的特点是&#xff0c;当从某个数中减去负数时&#xff0c;将其转换为正数的加法来计算&#xff0c;并将减去正数的情况转换为负数的加法来计算&#xff0c;从而将所有减法运算转换为加法运算。在这种情况下&#xff0c;…