角色访问控制在后台管理系统中是不可缺少的一部分,它高层次的抽象主体灵活的支撑着整个系统的安全访问。它通常使用5张表来实现,即用户表、角色表、路由表、主体指派表(用户-角色)、权限指派表(角色-路由)。在此还设计一个菜单表,它与路由存在一对多的关系。下面将会给出表的设计。
quickly-rbac目前已支持的特性:
菜单管理:无限级菜单分配、前台菜单切换、菜单排序、通知设置。
路由管理:CRUD
权限管理:CRUD
用户管理:CRUD
用户管理:CRUD
laravel 5.6
实现功能 -> 添加路由 -> 角色授权 -> 用户管理
建表SQL语句在rbac目录里
字段
|
数据类型
|
释义
|
说明
|
id
|
int(12)
|
自增id
|
|
username
|
varchar(32)
|
用户名
|
|
password
|
char(32)
|
登录密码
|
|
operator
|
varchar(32)
|
操作人
|
|
create_time
|
timestamp
|
创建时间
|
|
update_time
|
timestamp
|
更新时间
|
|
字段
|
数据类型
|
释义
|
说明
|
id
|
int(12)
|
自增id
|
|
name
|
varchar(32)
|
角色名称
|
|
operator
|
varchar(32)
|
操作人
|
|
create_time
|
timestamp
|
创建时间
|
|
update_time
|
timestamp
|
更新时间
|
|
字段
|
数据类型
|
释义
|
说明
|
id
|
int(12)
|
自增id
|
|
name
|
varchar(32)
|
路由名称
|
|
route
|
varchar(255)
|
路由名称
|
|
mid
|
int(12)
|
菜单名
|
fk
|
is_default
|
tinyint(1)
|
是否默认
|
0:否1:是
|
operator
|
varchar(32)
|
操作人
|
|
create_time
|
timestamp
|
创建时间
|
|
update_time
|
timestamp
|
更新时间
|
|
字段
|
数据类型
|
释义
|
说明
|
id
|
int(12)
|
自增id
|
|
username
|
varchar(32)
|
用户名
|
|
role_id
|
int(12)
|
角色id
|
fk
|
operator
|
varchar(32)
|
操作人
|
|
create_time
|
timestamp
|
创建时间
|
|
update_time
|
timestamp
|
更新时间
|
|
字段
|
数据类型
|
释义
|
说明
|
id
|
int(12)
|
自增id
|
|
role_id
|
int(12)
|
角色id
|
fk
|
has_route
|
varchar(32)
|
路由
|
fk
|
operator
|
varchar(32)
|
操作人
|
|
create_time
|
timestamp
|
创建时间
|
|
update_time
|
timestamp
|
更新时间
|
|
字段
|
数据类型
|
释义
|
说明
|
id
|
int(12)
|
自增id
|
|
pid
|
int(12)
|
父id
|
|
name
|
varchar(32)
|
菜单名称
|
|
icon
|
varchar(32)
|
icon样式
|
|
badge
|
varchar(32)
|
badge样式
|
|
sortnum
|
tinyint(12)
|
排列顺序
|
|
operator
|
varchar(32)
|
操作人
|
|
create_time
|
timestamp
|
创建时间
|
|
update_time
|
timestamp
|
更新时间
|
|