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.
 
 
 
 
 

1.0 KiB

07 — 权限控制与权限码种子化

What to build: 所有字典接口受 @PreAuthorize("hasAuthority('dict:...')") 保护;10 个权限码(dict:group:list/save/delete/status + dict:item:list/save/delete/force-delete/status/default)由 crm-dict 幂等初始化器种子化到权限资源树(sys_menu 物理表,不 import crm-auth 任何类)并绑定内置管理员角色,参考 role-management 做法(数据字典菜单挂"系统管理"下)。无权限访问返回无权限错误。

Blocked by: 02, 04, 05(所有端点存在后)

Status: completed

  • 全部端点带 @PreAuthorize,权限码与前端文档 §8 一致
  • 初始化器幂等:菜单/按钮按权限码查重,存在即跳过;ROLE_ADMIN 缺失时跳过绑定并 warn
  • 初始化器与 crm-auth DataInitializer 无耦合(顺序无关:系统管理目录缺失则自建)
  • 集成测试:无权限码用户访问返回无权限;种子化后可查出 10 个权限点且已绑定管理员