问题与背景
web系统的设计中,往往都会遇到权限问题,权限问题,最起码需要做到3个级别,模块级别,功能级别,数据级别。模块级别粒度是最粗的,只需要在五表权限模型中的权限表,设置为模块的访问权限即可。功能级别粒度会细一些,主要是针对模块中的功能进行选择性开放。数据级别是最高的,实现了完全的基于权限的数据隔离,通俗点说就是用户只能看到自己的数据,无法看到别人的数据。本文章主要针对多用户数据隔离的场景进行设计。
经验总结
先来梳理一下表结构设计,想要实现多用户数据隔离的表结构设计,这里在五表权限的基础上,新增了一张工作空间表。
用户表
字段 | 解释 |
---|---|
id | 主键 |
username | 姓名 |
角色表
字段 | 解释 |
---|---|
id | 主键 |
rolename | 角色姓名 |
权限表
字段 | 解释 |
---|---|
id | 主键 |
authname | 权限名称 |
工作空间表