使用Shiro作为权限框架,我们一般用到 5 张表:
- 用户表 (user)
- 角色表 (role)
- 权限表 (permission)
- 用户 - 角色关联表 (user_role ;一对多的关系,一个角色对应多个用户)
- 角色 - 权限关联表 (role_permission ;多对多关系)
创建表:
drop table if exists sys_users;
drop table if exists sys_roles;
drop table if exists sys_permissions;
drop table if exists sys_users_roles;
drop table if exists sys_roles_permissions;
create table sys_users (
id bigint auto_increment comment '编号',
username varchar(100) comment '用户名',
password varchar(100) comment '密码(需加密)',
salt varchar(100) comment '盐值(因为密码是经过Shiro加密的,需要通过盐值校验,由Shiro生成,不需要用户手动填写)',
role_id varchar(50) comment '角色列表(这个字段不是必须的,仅实现在展示用户信息的时候能同时展示用户当前角色)',
locked bool default false comment '是否锁定(决定当前账户是否是锁定的)',
constraint pk_sys_users primary key(id)
)