关于权限控制中的数据访问权限问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于权限控制中的数据访问权限问题相关的知识,希望对你有一定的参考价值。
在项目中会遇到这种情况:有些数据只允许一个人访问,有些数据允许部门内所有人员访问,有些数据允许所有登录人员访问;在以前我是把数据的访问范围直接写死,如果出现变动只能再增加新的功能;比如工资查询功能,需要提供一个可以查看全部工资(财务用)、查看部门内工资(部门领导用)和查看自己的工资(员工用);现在我想只提供一个功能,然后针对不同用户设置不同的数据访问权限;
要求: 数据权限的处理必须在架构层实现、不用Spring等框架技术、对于开发人员不用考虑数据权限问题,只需要写正常的SQL就可以;
希望 高手提供相应的方案;
QQ: 378272976 email:378272976@qq.com
谢谢!!
如果是企业级系统涉及多模块及业务数据的权限控制的话,就需要设计独立的数据权限模块才能做到架构层面解决了,可对表级设置权限策略. 参考技术A 一般应该是分成角色和功能这两大块儿来着,
数据库设计的话,最基础的大致分四个表:角色表,角色分配表,功能表,权限表
角色表:存储角色(财务,部门,员工)
角色分配表:存储人和角色的关系,按人与角色的对应关系具体设计(比如A员工是财务科的科长,则有财务、部门双重角色。B员工是财务科员工,则财务、员工双重角色——当然,如果高级权限完全包含低级权限的话,则角色分配表可以和员工表整合在一起使用)
功能表:存储各个模块和模块的功能(工资的增删改查什么的,财务报表的增删改查什么的)
权限表:存储各角色和功能的对应关系(财务对工资表可以查看对财务报表可以查看和增加,而员工对工资表和财务报表都只能查看等等) 参考技术B 数据库设计的话,最基础的大致分四个表:角色表,角色分配表,功能表,权限表
角色表:存储角色(财务,部门,员工)
角色分配表:存储人和角色的关系,按人与角色的对应关系具体设计(比如A员工是财务科的科长,则有财务、部门双重角色。B员工是财务科员工,则财务、员工双重角色——当然,如果高级权限完全包含低级权限的话,则角色分配表可以和员工表整合在一起使用)
功能表:存储各个模块和模块的功能(工资的增删改查什么的,财务报表的增删改查什么的)
权限表:存储各角色和功能的对应关系(财务对工资表可以查看对财务报表可以查看和增加,而员工对工资表和财务报表都只能查看等等) 参考技术C 如果你的功能权限已经做好,那只要考虑怎样对数据进行分类去满足数据权限的配置,一般情况是将组织机构与业务数据建立联系,对人分配组织机构就分配了权限。 参考技术D 这应该是个设计问题。一般权限控制包括操作权限与对象访问权限。关于访问权限,一般将数据设定级别或分组,然后以级别或组作为一个基本单元来授权。
以上是关于关于权限控制中的数据访问权限问题的主要内容,如果未能解决你的问题,请参考以下文章