细粒度权限管理

表1 权限映射表 
表名:tbl_res_map(权限映射)                                            类别(表) 
字段名 字段别名 数据类型 主键 允许空/显示 默认值 说明 
pid 权限编码 varchar(50) Y N/N
service_view 资源 varchar(50) Y N/N
explain 说明 varchar(50) Y/N

备注: 将系统中的所有资源全部统一编码 
     service_view:资源,包括菜单名、按钮名、页面名、方法名等等 
     pid和service_view合在一起为主键,标示多个资源可以编成一个编码(比如一个按钮的权限,往往还包括对应的页面、方法等许多权限,你可以将这些关联权限编为一个编码,这样赋权时要么都有,要么都没有) 

表 2 权限资源表 
表名:tbl_perm_res (权限资源)                                            类别(表) 
字段名 字段别名 数据类型 主键 允许空/显示 默认值 说明 
pid 权限编码 varchar(50) Y N/N
parent_id 上级权限编码 varchar(50)
type 权限类别 char(1) N/N 1、顶级菜单,2、菜单和页面,3、按钮 
explain 说明 varchar(50) Y/N
备注:①、专门配置所有资源的上下级关系,以便于在分配权限的页面使用资源树的形式展示和赋权。 
我们一般从系统左侧菜单开始,顶级菜单为资源树顶级节点,子菜单一次为子资源,页面、页面按钮、请求路径、方法都为某一个模块的子资源节点…… 
②、pid和parent_id都为表tbl_res_map中提前对资源编好的编码 

表3 用户权限表 
表名:tbl_auth (用户权限)                                            类别(表) 
字段名 字段别名 数据类型 主键 允许空/显示 默认值 说明 
uid 账号/角色 varchar(50) Y N/N
utype 类别 char Y N/N 1、用户,2、角色 
pid 权限编号 varchar(50) Y N/N
备注:pid来源tbl_perm_res中的pid 

表4 角色表 
表名:tbl_role (角色)                                            类别(表) 
字段名 字段别名 数据类型 主键 允许空/显示 默认值 说明 
role_id 角色编号 varchar(50) Y N/N
role_name 角色名称 varchar(50) N/Y
备注 

表5 用户角色映射表 
表名:tbl_user_role (用户角色映射表)                                            类别(表) 
字段名 字段别名 数据类型 主键 允许空/显示 默认值 说明 
role_id 角色编号 varchar(50) Y N/N
user_id 用户编号 varchar(50) Y N/N
备注 

表 6 用户表 
表名:tbl_user (用户)                                            类别(表) 
字段名 字段别名 数据类型 主键 允许空/显示 默认值 说明 
user_id 账号 varchar(50) Y N/Y
password 密码 varchar(50) N/N
username 用户名 varchar(50) N/Y
mobile 手机号码 varchar(24) N/Y
备注: 

这是一个多次应用在金融行业的细粒度权限管理方案! 

你可能感兴趣的:(权限管理)