【Abp VNext】实战入门(十一):【2】基本操作 —— 如何修改用户账号密码及其他信息


一、前言

在文章 【Abp VNext】实战入门(十二):【1】角色权限管理 —— 后端对应的框架结构表 中讲解了用户、角色、权限、功能之间的关系以及对应的后端数据库表架构 ; 还有AbpVnext Web项目中 自带的集成好的用户角色管理;

本章主要讲解如何简单快捷的使用AbpVnext自带功能接口来修改用户基础信息、角色信息、账号密码信息等…

二、自带的用户管理接口

1. 通过Swagger查看自带的用户操作接口;

在这里插入图片描述

2. 重点讲解用户更新接口:/api/identity/users/{id}

接口参数:	
{
  "password": "Admin123456*", //密码
  //时间戳 必须是上一次从数据库中提取的时间戳 每次调用更新接口 都会自动更新一次这个字段  否则出错
  "concurrencyStamp": "92c1b8fa33b34222993d233f4c8ede83", 
  "userName": "hanlinsha2222",//账号
  "name": "string",//姓名
  "surname": "string",
  "email": "user@example.com",
  "phoneNumber": "string",
  "lockoutEnabled": true,
  "roleNames": [   //用户归属的角色列表  可以没有可以是多个
    "admin",
    "operator"
  ]
}

3. 特别注意事项 : concurrencyStamp 时间戳字段赋值

  1. concurrencyStamp 时间戳 来自于数据库,(也就是说要先查询用于信息,拿到时间戳 通过时间戳来更新用户信息);

  2. 调用更新接口后 concurrencyStamp 时间戳会自动刷新入库

  3. 更新接口提供的concurrencyStamp 时间戳 如果和数据库中的时间戳不一致 会提示 “对象已被修改,乐观并发失败”

{
  "error": {
    "code": "Volo.Abp.Identity:ConcurrencyFailure",
    "message": "对象已被修改,乐观并发失败.",
    "details": null,
    "data": {},
    "validationErrors": null
  }
}

4. 接口测试截图预览

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、总结

搞程序就是填不完的坑,理论上是很简单的一个接口调用,由于搞不清缘由,很容易被这个时间戳字段坑,导致接口怎么调都不行,看见问题了却又不知道什么意思 到底怎么解决,希望本文对大家有所帮助;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值