1.引入sa-token权限框架

2.实现RBAC模型相关表结构(用户-权限-菜单-角色)
This commit is contained in:
xiongfeng
2025-08-21 22:27:27 +08:00
parent ba07169869
commit 71ddb30d0d
34 changed files with 820 additions and 2 deletions

View File

@@ -0,0 +1,67 @@
package cn.xf.basedemo.model.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 系统菜单表 sys_menu
* @TableName sys_menu
*/
@TableName(value ="sys_menu")
@Data
public class SysMenu implements Serializable {
/**
* 主键ID
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 菜单名称sys_menu.name
*/
private String name;
/**
* 前端路由路径sys_menu.path
*/
private String path;
/**
* 父菜单IDsys_menu.parent_id树结构
*/
private Long parent_id;
/**
* 菜单类型sys_menu.type0=目录,1=菜单,2=按钮
*/
private Integer type;
/**
* 菜单图标sys_menu.icon
*/
private String icon;
/**
* 创建时间sys_menu.create_time
*/
private Date create_time;
/**
* 创建人sys_menu.create_by
*/
private String create_by;
/**
* 更新时间sys_menu.update_time
*/
private Date update_time;
/**
* 更新人sys_menu.update_by
*/
private String update_by;
}

View File

@@ -0,0 +1,57 @@
package cn.xf.basedemo.model.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 系统权限表 sys_permission
* @TableName sys_permission
*/
@TableName(value ="sys_permission")
@Data
public class SysPermission implements Serializable {
/**
* 主键IDsys_permission
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 权限标识sys_permission.code如 user:add、order:delete
*/
private String code;
/**
* 权限名称sys_permission.name
*/
private String name;
/**
* 所属菜单IDsys_permission.menu_id
*/
private Long menu_id;
/**
* 创建时间sys_permission.create_time
*/
private Date create_time;
/**
* 创建人sys_permission.create_by
*/
private String create_by;
/**
* 更新时间sys_permission.update_time
*/
private Date update_time;
/**
* 更新人sys_permission.update_by
*/
private String update_by;
}

View File

@@ -0,0 +1,58 @@
package cn.xf.basedemo.model.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 系统角色表 sys_role
* @TableName sys_role
*/
@TableName(value ="sys_role")
@Data
public class SysRole implements Serializable {
/**
* 主键IDsys_role
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 角色名称sys_role.name
*/
private String name;
/**
* 角色标识sys_role.code如 ADMIN、OPERATOR
*/
private String code;
/**
* 角色状态sys_role.status1=启用0=禁用
*/
private Integer status;
/**
* 创建时间sys_role.create_time
*/
private Date create_time;
/**
* 创建人sys_role.create_by
*/
private String create_by;
/**
* 更新时间sys_role.update_time
*/
private Date update_time;
/**
* 更新人sys_role.update_by
*/
private String update_by;
}

View File

@@ -0,0 +1,53 @@
package cn.xf.basedemo.model.domain;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 角色菜单关联表 sys_role_menu
* @TableName sys_role_menu
*/
@TableName(value ="sys_role_menu")
@Data
public class SysRoleMenu implements Serializable {
/**
* 主键ID
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 角色IDsys_role_menu.role_id
*/
private Long role_id;
/**
* 菜单IDsys_role_menu.menu_id
*/
private Long menu_id;
/**
* 创建时间sys_role_menu.create_time
*/
private Date create_time;
/**
* 创建人sys_role_menu.create_by
*/
private String create_by;
/**
* 更新时间sys_role_menu.update_time
*/
private Date update_time;
/**
* 更新人sys_role_menu.update_by
*/
private String update_by;
}

View File

@@ -0,0 +1,53 @@
package cn.xf.basedemo.model.domain;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 角色权限关联表 sys_role_permission
* @TableName sys_role_permission
*/
@TableName(value ="sys_role_permission")
@Data
public class SysRolePermission implements Serializable {
/**
* 主键ID
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 角色IDsys_role_permission.role_id
*/
private Long role_id;
/**
* 权限IDsys_role_permission.permission_id
*/
private Long permission_id;
/**
* 创建时间sys_role_permission.create_time
*/
private Date create_time;
/**
* 创建人sys_role_permission.create_by
*/
private String create_by;
/**
* 更新时间sys_role_permission.update_time
*/
private Date update_time;
/**
* 更新人sys_role_permission.update_by
*/
private String update_by;
}

View File

@@ -0,0 +1,54 @@
package cn.xf.basedemo.model.domain;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 用户角色关联表 sys_user_role
* @TableName sys_user_role
*/
@TableName(value ="sys_user_role")
@Data
public class SysUserRole implements Serializable {
/**
* 主键ID
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 用户IDsys_user_role.user_id
*/
private Long user_id;
/**
* 角色IDsys_user_role.role_id
*/
private Long role_id;
/**
* 创建时间sys_user_role.create_time
*/
private Date create_time;
/**
* 创建人sys_user_role.create_by
*/
private String create_by;
/**
* 更新时间sys_user_role.update_time
*/
private Date update_time;
/**
* 更新人sys_user_role.update_by
*/
private String update_by;
}