【Abp VNext】實戰入門基本操作 —— 如何修改用戶賬號密碼及其他信息


一、前言
在文章 【Abp VNext】實戰入門(十二):【1】角色權限管理 —— 后端對應的框架結構表 中講解了用戶、角色、權限、功能之間的關系以及對應的后端數據庫表架構 ; 還有AbpVnext Web項目中 自帶的集成好的用戶角色管理;

本章主要講解如何簡單快捷的使用AbpVnext自帶功能接口來修改用戶基礎信息、角色信息、賬號密碼信息等…

二、自帶的用戶管理接口
1. 通過Swagger查看自帶的用戶操作接口;


2. 重點講解用戶更新接口:/api/identity/users/{id}
接口參數:
1
{
"password": "Admin123456*", //密碼
//時間戳 必須是上一次從數據庫中提取的時間戳 每次調用更新接口 都會自動更新一次這個字段 否則出錯
"concurrencyStamp": "92c1b8fa33b34222993d233f4c8ede83",
"userName": "hanlinsha2222",//賬號
"name": "string",//姓名
"surname": "string",
"email": "user@example.com",
"phoneNumber": "string",
"lockoutEnabled": true,
"roleNames": [ //用戶歸屬的角色列表 可以沒有可以是多個
"admin",
"operator"
]
}

 

 


3. 特別注意事項 : concurrencyStamp 時間戳字段賦值
concurrencyStamp 時間戳 來自於數據庫,(也就是說要先查詢用於信息,拿到時間戳 通過時間戳來更新用戶信息);

調用更新接口后 concurrencyStamp 時間戳會自動刷新入庫

更新接口提供的concurrencyStamp 時間戳 如果和數據庫中的時間戳不一致 會提示 “對象已被修改,樂觀並發失敗”

{
"error": {
"code": "Volo.Abp.Identity:ConcurrencyFailure",
"message": "對象已被修改,樂觀並發失敗.",
"details": null,
"data": {},
"validationErrors": null
}
}

4. 接口測試截圖預覽

 

 

 

 

 

 

 


三、總結
搞程序就是填不完的坑,理論上是很簡單的一個接口調用,由於搞不清緣由,很容易被這個時間戳字段坑,導致接口怎么調都不行,看見問題了卻又不知道什么意思 到底怎么解決,希望本文對大家有所幫助
————————————————

原文鏈接:https://blog.csdn.net/liuyonghong159632/article/details/116353936


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM