ABP Vnext 批量导入用户,解决密码加密问题

因为ABP Vnext在密码加密方面使用的盐加密的方式,底层的加密方式让人摸不着头脑。如何需要批量导入用户的时候,这个密码问题就很头疼。

假设,已经有一个集合List<entity>的用户数据了,此时进行循环取出一条用户信息,进行 abpUser实体的转换。代码如下

//判断密码字段是否为空if (string.IsNullOrEmpty(entity.PasswordHash)){entity.Remark = "密码不能为空";entityRepeatList.Add(entity);continue;}//这是扩展字段的信息,如果没有可以删除entity.SetProperty("EmpNo", entity.EmpNo);entity.SetProperty("WeChat", entity.WeChat);await _identityOptions.SetAsync();//UsersInfoDto 自己模仿着 IdentityUser 写一个var user = ObjectMapper.Map<UsersInfoDto, Volo.Abp.Identity.IdentityUser>(entity);entity.PasswordHash = _passwordHasher.HashPassword(user, entity.PasswordHash);var userPasswordHash = ObjectMapper.Map<UsersInfoDto, Volo.Abp.Identity.IdentityUser>(entity);await _identityUserRepository.InsertAsync(userPasswordHash);//此时插入数据,并不立即生效,没有触发savachange(),本接口遍历完毕,才触发保存,所以不用担心每次重复打开关闭连接池的问题

用到的构造函数如下:

private readonly IOptions<IdentityOptions> _identityOptions;private readonly IPasswordHasher<Volo.Abp.Identity.IdentityUser> _passwordHasher;

最重要的一点是,using引用命名空间的时候,优先选择 Volo.Abp.xxx的命名,不要选择using Microsoft.AspNetCore.Identity....微软自带的,因为abp默认继承了Microsoft,会造成代码冲突。

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

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

相关文章

深入分析JavaWeb Item7 -- HttpServletResponse详解

Web服务器收到客户端的http请求&#xff0c;会针对每一次请求&#xff0c;分别创建一个用于代表请求的request对象、和代表响应的response对象。request和response对象即然代表请求和响应&#xff0c;那我们要获取客户机提交过来的数据&#xff0c;只需要找request对象就行了。…

Spring.net学习记录

Spring.Net功能&#xff1a; 1、控制反转&#xff08;IOC&#xff09;&#xff1a;就是创建对象的权利由开发人员自己控制New&#xff0c;转到了有容器来控制 2、依赖注入&#xff08;DI&#xff09;&#xff1a;就是通过容器来创建对象的时候&#xff0c;在对象初始化时给一些…

uAdmin the Golang Web framework

2019独角兽企业重金招聘Python工程师标准>>> A little over two years ago, I started looking for a web framework like Django for Golang but to my surprise, I couldn’t find anything that even does the basic. My requirements were simple: A standard w…

ABP Vnext 数据库表字段存在IsDeleted如何物理删除HardDeleteAsync

ABP Vnext在写表实体会继承 xxxEntity : FullAuditedAggregateRoot<Guid>此时这个聚合根会包含一个 IsDeleted字段属性&#xff0c;一旦继承了这个软删除字段&#xff0c;你在仓储对象调用 await _xxxxRepository.DeleteAsync(x > x.Id > 0)时的时候&#xff0c;…

详解当当网的分布式作业框架elastic-job

详解当当网的分布式作业框架elastic-job

java条件触发,条件事件触发Anylogic

所以首先event.restart()函数仅在事件具有触发类型时才适用&#xff1a;timeout和mode&#xff1a;user control&#xff0c;否则你的event.restart()函数什么也不做......其次&#xff0c;你需要在有条件的事件上调用你的函数&#xff0c;但是在停车的那一刻......你可以在car…

攻城不易守城更难,汇付天下该如何守住打下来的“江山”?

伴随着相关监管政策的实施&#xff0c;第三方支付市场俨然已经迎来了“罚单潮”。根据不完全统计&#xff0c;截至2018年10月8日&#xff0c;央行已开出109张支付罚单&#xff0c;国付宝等多家支付机构罚金甚至高达千万以上&#xff0c;今年累计处罚的金额已超过2亿元。照此速度…

1024技术论坛 | C#与.NET技术新发展

主办方简介上海维宏电子科技股份有限公司&#xff08;维宏股份&#xff0c;股票代码&#xff1a;300508&#xff09;&#xff0c;是一家专业提供运动控制系统解决方案的高科技企业&#xff0c;公司拥有雄厚的研发力量和高素质的服务队伍&#xff0c;我们以快捷的速度&#xff0…

Oracle Code登录北京 代码盛宴邀你high起来|免费报名

盛夏北京&#xff0c;将迎来 Oracle Code 北京站活动。作为贯穿全年、横跨全球的 20 场活动中的一场&#xff0c;北京站汲取各地 Oracle Code 精华&#xff0c;结合国内开发者社区现状和需求&#xff0c;呈现一场代码盛宴。 来自 Oracle Code、OTN 及 AppsLap 的大咖们将齐聚北…

简单的四则运算

// 20163536 杨宇航 奖励原创 上课未完成原因&#xff1a; 哎&#xff0c;在上那节课时候&#xff0c;我们正在准备程序设计大赛&#xff0c;因为我们团队当中只有我的电脑有数据库&#xff0c;所有我只好将我的电脑贡献给团队了&#xff0c;不然在10分钟内完成应该不成问题&a…

导出导入数据库

一、导出用 mysqldump 备份数据库 1mysqldump -u用户 -p密码 数据库名 > &#xff08;目录&#xff09;导出文件名如&#xff1a;mysqldump -uroot -p123 dbname > /root/test.sql 回车就直接完成备份。如果只需要建表指令&#xff0c;则命令如下&#xff1a; shell> …

matlab randn 范围,请问randn产生的数据在什么范围内变化

产生均值为0&#xff0c;方差 σ^2 1&#xff0c;标准差σ 1的正态分布的随机数或矩阵的函数。Example:产生一个随机分布的指定均值和方差的矩阵&#xff1a;将randn产生的结果乘以标准差&#xff0c;然后加上期望均值即可。例如&#xff0c;产生均值为0.6&#xff0c;方差为…

C#开发串口通信实例及串口基础

一、串口通信简介串行接口&#xff08;串口&#xff09;是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去&#xff0c;同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路&#xff0c;我们称为串行接口电路。串口通信&a…

我在SharePoint行业的从业经历(一)

&#xfeff;&#xfeff;&#xfeff;&#xfeff;大约10年前&#xff0c;我刚刚毕业的时候&#xff0c;找到了一个试用的机会。那个时候的我对软件根本没有概念。编程学的也非常少。仅仅是在系里学过一点VB和C&#xff0c;以为软件就是像QQ或者游戏之类的。我从来没想到会认识…

Linux的学习思路

自学嵌入式确实不大现实&#xff08;当然也不是说没有这个可能&#xff09;&#xff0c;毕竟嵌入式难度也是比较大的。 嵌入式的应用主要是几个方向&#xff0c; 一是系统开发&#xff1a;侧重开发环境搭建、内核原理、交叉编译等&#xff1b; 二是嵌入式Linux应用开发&#xf…

tinycore php,tinycore中文支持

这两天在弄tinycore&#xff0c;想用它来搭个小系统出来。下载最新的CorePlus-current.iso 4.5.2&#xff0c;用开源的usb的安装工具core2usb-1.6.exe将它安装到u盘&#xff0c;然后接上台式机上&#xff0c;开机从u盘启动&#xff0c;一切顺利。好&#xff0c;开始搞起&#…

javascript权威指南--学习笔记

-一、JavaScript基本数据类型 1、数字--Number类 2、字符串--String类 3、布尔--Boolean类 4、函数Function 5、对象Object 6、数组Array 7、null 8、undefined 备注&#xff1a; 当一个未定义的值用于布尔环境&#xff0c;他就会转为false&#xff0c;用于数字环境就会转为…

支持 dotnet 6 的 dnSpy 神器版本

官方的 dnSpy 在 2021 时&#xff0c;由于某些吃瓜的原因 wtfsck 将 dnSpy 给 Archived 掉&#xff0c;在大佬被哄好之前&#xff0c;预计是不再更新。最新官方版本对 dotnet 6 的支持较弱&#xff0c;对于很多 dotnet 6 应用都无法成功调试&#xff0c;附加调试上去将会让应用…

cmd命令

mstsc 开启远程连接services.msc 开启服务sc delete 服务名称 删除服务telnet 106.75.97.193 查看端口是否占用netstat -a 查看端口监听状态

Robot Framework 教程 (3) - Resource及关键字 的使用

From:http://www.cnblogs.com/buaawp/p/4754399.html Robot Framework 教程 (3) - Resource及关键字 的使用 在进行软件自动化测试时&#xff0c;我们设计并编写好一个测试脚本的业务逻辑之后&#xff0c;需要将其中的业务数据提取为变量&#xff0c;并对业务逻辑进行封装。在后…