👨‍💻 niltor    📆 2026-09-29 15:54

SystemMod

Perigon.SystemMod 为管理端提供用户身份认证、用户与角色管理、菜单授权、系统配置、日志和数据权限配置。模块当前接入 AdminService,用于为其他业务模块提供用户、角色和授权配置基础。

功能

  • 邮箱登录、验证码、Token 刷新、退出登录和当前用户信息。
  • 用户管理、角色管理、角色菜单授权和菜单维护。
  • 系统配置、枚举字典和登录安全策略。
  • 系统日志的异步写入与筛选。
  • 数据权限范围、权限组及权限组用户成员管理。

配置数据权限

数据权限配置按“范围 → 权限组 → 用户成员”组织:

  1. 创建数据权限组,设置名称、说明和启用状态。
  2. 创建数据权限范围,填写资源编码 ResourceCode、范围类型 ScopeType、目标 ID TargetIds,并指定所属权限组。
  3. 为范围类型选择 None(无数据)、All(全部数据)或 Include(仅 TargetIds 中的数据)。Include 的目标 ID 应为 GUID。
  4. 将当前租户用户加入权限组。GET /api/SysDataScopeGroup/{id}/users 查询成员;PUT /api/SysDataScopeGroup/{id}/users 用传入的 UserIds 整体替换成员列表。
  5. 用户信息接口 GET /api/SysUser/userinfo 返回该用户所属的启用权限组及组内数据范围。

数据范围和权限组由 SuperAdmin 管理。成员和范围的创建、查询及更新会限定在当前租户内。删除仍被范围或用户引用的权限组会返回冲突;应先移除关联再删除。

SystemMod 保存并返回授权配置,但不会自动改写其他模块的数据库查询。业务模块必须根据 ResourceCode、ScopeType 和 TargetIds 实际应用数据筛选。

目前没有独立的数据权限组管理页面;可通过上述 API 或生成的 Angular 服务维护组和成员。SystemMod 有组织实体,但当前没有对应的管理 API 或独立管理页面。

日志与初始化

系统日志先进入后台队列,再由托管服务批量写入数据库。初始化服务会按租户创建基础用户和系统配置;如果新租户没有用户,会创建 admin 管理员,示例初始密码为 Perigon.2026。首次部署后应立即修改该密码。

安装与接入

perigon module install Perigon.SystemMod AdminService

目标服务需要引用模块并调用模板提供的 AddModules() 注册入口。安装或升级后执行 EF Core 数据库迁移。迁移会删除旧权限明细和旧的角色-权限组关联;权限组名称与说明会保留,升级后需重新配置数据范围并维护用户成员。

更多安装和前端模块打包选项见模块命令行文档。