论权限设计

都是老生常谈的东西,我只是做一个总结。
我接触过的权限设计一般都是做成功能类型的,不会颗粒度很细。权限关系有很多种设计与实现,有颗粒度细的,对数据做权限管理的(比

较喜欢,一般这样的系统都是需要定制的,很难做到通用化。),颗粒度大的,也就是常用的,大都是根据功能上的划分模块来做。

如果是颗粒度比较粗的
比如,我列出我们需要的建的表。
管理用户表:存各种管理员基础信息
角色表:存储各种角色信息,这也是权限细化的第一部分,多角色系统。
功能表:存储功能模块的信息,列出功能的的结构
然后就是他们的关联了,然后为了功能的重用,加入功能的分组,以一个功能组的形式分配给角色,然后应用于管理员用户。
这就是颗粒度大,但是比较通用的权限设计。

如果是颗粒度比较细的
同上建立表结构,但是在功能表的设计的时候,要细化,对每个功能模块设计详细的功能描述,比如常用的增删查改,数据的导入导出,尽

量。这个时候要加一个功能描述的字段,可以以分隔符进行分隔,然后再功能使用时加载这个描述,生成对应的界面。

如果是数据上的颗粒度细化呢(上述两种,我都有过实践,这个只是与人讨论过,没有付诸实践)
理论上讲,对数据进行细颗粒化的设计就要对表数据进行一定的控制,经常做的就是加一个标示字段已作区分。讲数据的权限分配到角色的

级别。也就是在你想要做数据细颗粒化的表上加一个角色标示(我不怎么建议直接加用户的标示,范围太小)。这样,对于不同的角色就有

了不同的数据。如果在细分下去,就要对角色再进行细化。暂时思考到这里。

参考文章:韩迎龙权限系列 ,老韩的权限实现

时间: 2024-08-29 20:49:05

论权限设计的相关文章

权限设计

这次项目改版中 遇到权限设计的问题 因为对项目还不熟,再加上第一次做权限,就先做了个大概 拖来拖去 今天有了点想法 记录如下 (然后推荐一个在线逻辑图  https://www.processon.com 虽然访问速度比较慢,但是还是蛮实用的) 至于怎么想的,待续...

WisDom.Net 框架设计(五) 权限设计

WisDom.Net --权限设计 1.需求分析     基本在所有的管理系统中都离不开权限管理.可以这么说,权限管理是管理系统的核心所在. 权限管理说白一些就是每个人能够做什么,不能够做什么.可以说是一套规则.下面就说一下,在wisdom.net中的权限     1. 控制用户修改和删除数据.即 用户编辑和删除自己创建的数据,但是只能编辑和删除比自己权限小的人创建的数据     2. 模块的控制. 用户只能访问自己被授权访问的模块,不能访问其他模块     3. 用户被赋予不同的角色,各个角色

信息系统的权限设计

题记: 熟话说:男怕入错行,女怕嫁错郎! 掐指一算入行IT业,已7年的码农生涯.在今天来看,其实IT行业,要做点事情不没有想象中的那么难,可是为啥只知道上班.下班,有时面对自己无言以对啊!这么多年没给自己留下什么有形资产,实属遗憾! 苏联作家尼古拉·奥斯特洛夫斯基 在<钢铁是怎样炼成的>一书中,有一段话很是经典,让我们再次回顾一遍吧:人最宝贵的东西是生命.生命对人来说只有一次.因此,人的一生应当这样度过:当一个人回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧;这样,在他临死的时候, 能够

ASP.NET MVC +EasyUI 权限设计(二)环境搭建

请注明转载地址:http://www.cnblogs.com/arhat 今天突然发现博客园出问题了,老魏使用了PC,手机,平板都访问博客园了,都是不能正常的访问,原因是不能加载CSS,也就是不能访问common.cnblogs.com这个域名,一直出现"Aborted",非常的郁闷. 页面就是这样子的,不知道为什么,难道是不是我的3个终端有问题吧,还是园子的服务器有问题呢?还是路由器的问题呢?到现在这个问题还没解决,郁闷死了!弄得心情非常的不爽. 好吧,不在说这个问题了,开始我们的正

权限设计(上) - 数据库表设计

web权限设计,做权限目前有三种主流实现方式 第一种:手动实现 配置2个拦截器,一个是拦截是否登陆,一个是拦截url的权限,通过角色权限表的配置,把权限url的路径与访问资源的url进行匹配 第二种:spring-security实现,比较重,不推荐 第三章:shiro,目前spring已经舍弃自己的spring-security而采用shiro 先放出数据库设计(普通版,会增加字段),后面会详细介绍

模块管理常规功能自己定义系统的设计与实现(31--第三阶段 权限设计[1])

系统的各种权限设计(1) 视频解说在线观看:视频解说链接 http://i.youku.com/jfok1972 本系统的如今已能够设计的权限一共同拥有四种类型. 1.模块的操作权限:包含可浏览,增改删,附件的CRUD操作,审核.审批,附加功能的操作(这个前面忘了介绍了,在以下会介绍一下). 2.模块记录的可视权限:通俗的讲,就是哪些记录你能看,哪些记录你不能看. 3.字段的仅仅读权限:对于具有可新增和可改动权限的人.进一步限制哪些字段是仅仅读的. 4.字段的可视权限:哪些字段你不能看到. 以上

java用户角色权限设计

实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个"非法用户"很可能就能通过浏览器轻易访问到B/S系统中的所有功能.因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的"非法用户"将会将他

关于数据权限设计的一些想法

序言 在各种系统中,要保证数据对象的安全性以及易操作性,使企业的各业务部门.职能部门能够方便而且高效的协同工作,那么一个好的数据权限管理设计就成为一个关键的问题.虽然企业中各个单元的工作流程有所不同,处理的数据对象也有所不同,但是在组织结构.信息的处理方式上具有很多相同的地方,这就为设计数据对象的权限控制提供了一个抽象基础.数据权限的控制不同于一般的功能权限的控制,一般的功能权限指的是某个用户.角色或者是某个用户组能不能操作某种功能.而数据权限指的是某个用户.角色或者是某个用户组对某个数据对象的

【转载】API权限设计总结

本文内容转自:http://blog.csdn.net/initphp/article/details/8636669 API权限设计总结: 最近在做API的权限设计这一块,做一次权限设计的总结. 1. 假设我们需要访问的API接口是这样的:http://xxxx.com/openapi/v1/get/user/?key=xxxxx&sign=sadasdas&timestamp=2013-03-05 10:14:00&c=c&a=a&d=d 2. 接口调用的控制器

JAVA 数据权限设计

数据权限设计 序言 在各种系统中,要保证数据对象的安全性以及易操作性,使企业的各业务部门.职能部门能够方便而且高效的协同工作,那么一个好的数据权限管理设计就成为一个关键的问题.虽然企业中各个单元的工作流程有所不同,处理的数据对象也有所不同,但是在组织结构.信息的处理方式上具有很多相同的地方,这就为设计数据对象的权限控制提供了一个抽象基础.数据权限的控制不同于一般的功能权限的控制,一般的功能权限指的是某个用户.角色或者是某个用户组能不能操作某种功能.而数据权限指的是某个用户.角色或者是某个用户组对