后勤三品角色权限管理,按部门设置管理员,数据范围由上级管理员在自身权限范围内进行授权

基于RBAC(角色访问控制)模型,结合部门层级与数据权限动态授权需求


​1. 部门表(sys_dept)​

记录组织架构及部门管理员信息,支持多级部门管理。

CREATE TABLE `sys_dept` (
  `dept_id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '部门ID',
  `dept_name` VARCHAR(100) NOT NULL COMMENT '部门名称',
  `parent_id` BIGINT DEFAULT 0 COMMENT '上级部门ID(0为根部门)',
  `dept_path` VARCHAR(255) GENERATED ALWAYS AS (CONCAT_WS('/', dept_name, IF(parent_id=0, '', (SELECT dept_name FROM sys_dept WHERE dept_id=parent_id)))) STORED COMMENT '部门路径(用于快速查询子树)',
  `manager_id` BIGINT COMMENT '部门管理员ID(关联用户表)',
  `is_active` TINYINT(1) DEFAULT 1 COMMENT '是否启用',
  UNIQUE INDEX `idx_dept_name` (`dept_name`),
  INDEX `idx_dept_path` (`dept_path`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

​关键字段

  • dept_path:生成部门层级路径(如总部/技术部/前端组),支持快速查询某部门及其子部门。
  • manager_id:部门管理员,由上级管理员授权后生效。

​2. 用户表(sys_user)​

存储用户基础信息,关联部门及角色。

CREATE TABLE `sys_user` (
  `user_id` BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 

你可能感兴趣的:(java,开发语言,log4j,intellij-idea,后端,集成测试,运维开发)