You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.4 KiB
2.4 KiB
用户更新
**本文档引用的文件** - [CreateUpdateUserDto.cs](file://aspnet-core\templates\aio\content\src\PackageName.CompanyName.ProjectName.Application.Contracts\PackageName\CompanyName\ProjectName\Users\Dtos\CreateUpdateUserDto.cs) - [IdentityUserAppService.cs](file://aspnet-core\modules\identity\LINGYUN.Abp.Identity.Application\LINGYUN\Abp\Identity\IdentityUserAppService.cs) - [UserManager.cs](file://aspnet-core\templates\aio\content\src\PackageName.CompanyName.ProjectName.Domain\PackageName\CompanyName\ProjectName\Users\UserManager.cs)目录
简介
本文档详细说明了 abp-next-admin 项目中用户更新功能的实现。重点介绍了 CreateUpdateUserDto 数据传输对象的可更新字段及其验证约束,解释了 IdentityUserAppService 中 UpdateAsync 方法的实现逻辑,包括并发控制(乐观锁)、变更跟踪、审计日志记录等机制。文档还描述了用户关键信息(如用户名、邮箱、手机号)更新时的验证流程和通知策略,以及用户状态管理(启用/禁用)、密码重置、多因素认证设置等特殊更新操作的实现细节。最后,文档提供了 API 调用示例和开发者扩展点。
项目结构
用户更新功能主要分布在 aspnet-core/modules/identity 模块中,遵循 ABP 框架的分层架构。核心代码位于 LINGYUN.Abp.Identity.Application 和 LINGYUN.Abp.Identity.Application.Contracts 项目中,分别负责应用服务的实现和数据传输对象(DTO)的定义。业务逻辑和数据访问由 LINGYUN.Abp.Identity.Domain 项目处理。
graph TB
subgraph "应用层"
A[IdentityUserAppService] --> B[CreateUpdateUserDto]
end
subgraph "领域层"
C[UserManager] --> D[IIdentityUserRepository]
C --> E[IdentityUserManager]
end
subgraph "数据访问层"
D --> F[数据库]
E --> F
end
A --> C
图表来源
- IdentityUserAppService.cs
- [UserManager.cs](file://aspnet-core\templates\aio\content\src\PackageName.CompanyName.ProjectName.Domain