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.pswp.cn/news/281715.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281715.shtml
英文地址,請注明出處:http://en.pswp.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;并對業務邏輯進行封裝。在后…