如何设计一个权限管理模块?
我们每天都在使用各种各样的办公自动化系统,也叫OA、ERP系统。不同的用户登录能看到的菜单和数据资源都不一样。
比如,管理员登入财务系统,能看见员工模块,员工登录就看不见,这就是菜单权限;员工登录财务系统,只能看见自己的工资明细,却看不见别人的,这就是数据权限。
那么如何做一个实用的权限模块呢?
我们来设计三张表,用户表、用户权限表、资源表。
用户表存放账号登录信息,资源表存放菜单和按钮资源,用户权限表存放用户ID和资源ID的关联关系。这样就能表示一个用户拥有哪些资源了。
哈哈,上面实现资源权限是不是很简单了,那么如何将数据权限加入进去呢?
这里我们引入一个概念:组织结构,可以将一个部门、一个分组、一个用户看成一个组织,组织之间是具备层级关系的。
我们要用这个组织结构来划分用户数据权限。上图中,admin的组织结构编号为001,A部门就定义为001001,B部门定义为001001001,A组就为001001001001,B组就为001001001002,以此类推,给每一个组织定好编号,根据组织结构,每一个用户都会在组织里,每一条数据都可以跟组织结构关联起来。
例如:财务人员录入员工工资明细,财务人员的组织结构肯定高于员工,通过组织结构编号就能模糊查询出员工信息,然后给员工录入数据;用户登录之后,可以通过组织结构编号查询属于自己的数据权限。所以编号也不是随便定义的,要有一定规律。
基于组织结构,我们的权限模块基础表,就可以分为,组织结构表、用户表、用户权限表、资源表。
注意:用户表属于组织结构,要新增组织结构ID作为外键关联,团队、部门、小组都这样关联起来,就可以实现数据权限了。
运用组织结构的设计模式,基本可以解决OA、ERP等自动化办公系统的权限管理。
更多推送文章请关注公众号:
如何设计一个权限管理模块?相关推荐
- 一个权限管理模块的设计(转载)
一 个用户权限管理模块的设计思路: 1. 权 限资源(功能资源) 系统的所有权限信息.权限具有上下级关系,是一个树状的结构.如下: <!--[if !supportLists]-->u ...
- 一个简易实用的web权限管理模块的应用与实现
本文介绍一个简易实用的web权限管理模块的应用与实现. 先介绍数据模型和应用界面,后继对实现细节做选择性阐述. 数据表关系如下: 该图标明了登陆用户.角色.部门(机构).用户组.角色和模块功能之间的关 ...
- 通俗易懂权限管理模块设计-Java
最近一直在做CMS系统,发现一些内容其实都是重复出现的,例如权限管理模块.权限管理模块就是为了管理用户是否有权利访问某个权限,如果不能则拒绝访问.其实Java中已经有很成熟的权限管理框架,例如 Shi ...
- Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- 如何设计一个权限系统
本文来说下如何设计一个权限系统 文章目录 概述 权限模型 RBAC0模型 RBAC1模型 RBAC2模型 RBAC3模型 用户组 组织 职位 含有组织/职位/用户组的模型 授权流程 表结构 权限框架 ...
- Yii框架中使用SRBAC作为权限管理模块时遇到的问题
Yii框架中使用SRBAC作为权限管理模块时遇到的问题 Yii框架中使用SRBAC作为权限管理模块时遇到的问题 看到Yii中提供RBAC的插件,SRBAC,就想用用. 结果按照手册上的安装办法,整来整 ...
- 6. 添加权限管理模块
本文主要是以权限管理模块为例来介绍使用springboot+mybatis完成增删改查的功能. 1. 添加Permission实体类 1 package com.lvniao.blog.model; ...
- 一个不错的权限管理模块设计案例
点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 不哼不哈 来源 | cnblogs.com/myindex/p/9116177.h ...
- 如何设计权限管理模块
点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者:不哼不哈 cnblogs.com/myindex/p/9116177.html 我们比较常 ...
最新文章
- 搭建mongodb集群(副本集+分片)
- VB 禁止修改系统时间
- 微信小程序_指南部分
- JAVA中CyclLink怎么用_Java多线程基本使用一
- 数据挖掘-分类与预测-神经网络算法
- scala调用java库_从scala调用java时的java.lang.IllegalAccessError – solutions / workarounds?...
- 【Tomcat】如何优化tomcat配置(从内存、并发、缓存4个方面)优化
- 《我也能做CTO之程序员职业规划》之三:曲线定律
- java 模式匹配_Java 14 模式匹配,非常赞的一个新特性!
- 帮您管好云:阿里云混合云管理平台发布 | 凌云时刻
- 使用express-jwt出现 algorithms should be set
- Element 表格序号问题
- 编写一个图片去水印的小工具
- HDU 1859 最小长方形
- IDEA插件系列(20):Grep Console插件——显示多颜色调试日志
- 各种音视频编解码学习详解之 编解码学习笔记(四):Mpeg系列——Mpeg 4
- 高中计算机省赛试题,2013高中信息技术基本功竞赛试卷20130919试题
- 程序员趣图,据说这是你写代码的样子……
- 市面主流软件静默安装参数
- 第二次阅读作业--12061161 赵梓皓