MIS系统权限控制的一个简便方法

MIS系统权限控制的一个简便方法收藏 新一篇: 创MIS系统的权限又多又复杂,很多人是在用户数据表中设置多个字段,每个字段代表一个权限,或者设置一个字符串,不同的字符组合表示用户的不同权限。简单一点的,可以预先设置几个角色,根据角色来行使预设权限,但又不够灵活。现介绍一个简单灵活的权限分配控制的方法,并无高深见解,只是很多人忽略了它。如果您正在设计权限控制模式,不妨接着往下看。

此方法非常简洁,扩充性很好。

仅用一个 integer 字段即可保存全部权限组合。

另外每个权限用一个整型表示
如:商品查看权限用 1 ;
商品更改权限用 2 ;
商品完全浏览权限用 4 ;
订单查看权限用 8 ;
订单更改权限用 16 ;更多权限…… 32,64,128 ……

给用户分配权限时,只需把用户获得的权限值累加就可以了。
应用时使用“与”操作来识别哪个用户是否拥有相应的权限。

例子
if 用户的权限总值 and 当前操作所需的权限 = 当前操作所需的权限 then
showmessage('有权限')
else
   showmessage('无权限');

运用此法,可简单的设计出复杂的权限系统。

这篇文章实为一抛砖引玉之作,如您有更好的权限控制系统设计思路,欢迎来信讨论: ufo2003@126.com

#aedvoan 发表于2005-11-13 15:24:00   IP: 220.191.126.*
能稍稍解释下这是为什么吗?
#小网虫 发表于2005-11-18 18:13:00   IP: 218.72.153.*
道理很简单啊,and 是以二进制按位“与”操作的。其真值表是:
1 and 1 = 1
1 and 0 = 0
0 and 1 = 0
0 and 0 = 0
比如十进位值 9的二进制是:01001
8的二进制是:01000
9 and 8的二进制结果是 01000= 8
9 and 4的结果是 00000= 0
所以,就表示8包含在9的组合方式内(8+1=9),而4不包含在内。
#dbj 发表于2006-05-27 13:40:00   IP: 221.221.218.*
高明
#touchboy 发表于2006-11-07 12:25:00   IP: 124.29.31.*
我也是从速达那学到这一招,已经在很多项目中运用

MIS系统权限控制的一个简便方法相关推荐

  1. web业务系统权限控制

    来源:http://blog.chinaunix.net/u1/52224/showart_410119.html 在以往的系统设计中,要么缺乏权限控制,要么就是权限控制很简单,,要么权限控制功能虽然 ...

  2. 基于Vue实现后台系统权限控制

    原文地址:http://refined-x.com/2017/08/29/基于Vue实现后台系统权限控制/,转载请注明出处. 用Vue这类双向绑定框架做后台系统再适合不过,后台系统相比普通前端项目除了 ...

  3. 实现数据权限控制的一种方法

    在企业管理系统中,常常有这样的要求:  1. 用户一般只能查看自己部门的数据  2. 可以设置用户可以查看哪些部门的数据  这种权限的控制,一般称为数据权限,与之对应的功能权限,则是系统中哪些功能可以 ...

  4. Laravel 5 中间件、路由群组、子域名路由、 权限控制的基本使用方法

    创建控制器: php artisan make:controller Admin/IndexController 创建Middleware: php artisan make:middleware T ...

  5. 计算机毕业设计中用Java 实现系统权限控制

    首先介绍下思路: 1.用户表 user; 2.角色表 role; 3.菜单 menu; 4.角色菜单权限表 role_menu; 5.用户菜单权限表 user_menu; 如图: 根据用户角色取出该角 ...

  6. Java 实现系统权限控制思路

    首先介绍下思路: 1.用户表 user; 2.角色表 role; 3.菜单 menu; 4.角色菜单权限表 role_menu; 5.用户菜单权限表 user_menu; 如图: 根据用户角色取出该角 ...

  7. 系统权限控制设计001---RBAC用户角色权限设计方案

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用 ...

  8. 你不知道的前端·权限控制篇 之 中后台系统

    一.前言 你不知道的前端之--中后台系统的权限控制,总的来说可以分为两大类,页面权限与按钮权限. 如果说编程的职业道路就像是在游戏中打怪升级的话,那么走这个分支练级的童鞋,首先要面对的第一只劝退bos ...

  9. 权限控制最常见的五种方法

    涉及到权限的问题往往是都是复杂的问题,在系统权限控制方面,我们经常会参照现成的案例来设计自己的权限控制,以下就是最常见的几种权限控制的方法 1. 控制系统的登录 在用户状态上加状态控制,可用的用户就可 ...

  10. 系统权限管理设计 (转:http://blog.csdn.net/chexlong/article/details/37697555)

    权限设计(转:http://blog.csdn.net/chexlong/article/details/37697555)      1. 前言:      权限管理往往是一个极其复杂的问题,但也可 ...

最新文章

  1. SharePoint SiteCollection 和SubWeb之间的迁移
  2. 如何优雅的转换 Bean 对象?
  3. 干货 | “青年AI自强计划项目”首节讲座视频、课件分享
  4. xshell 设置屏幕字体
  5. IsWindow,findwindow
  6. SAP CRM Opportunity response area
  7. Pad和Margin
  8. C语言写文件到txt里有屯字,C语言10 文件.ppt
  9. 机器人编程与python语言的区别_一分钟看懂“机器人编程”和“少儿编程”的区别!...
  10. java类型的转换顺序_Java数据类型自动转换的优先顺序
  11. 字典总结一|脚本类、用户名字典
  12. ‘文件夹正在使用‘解决方案
  13. 带你深入剖析TCP/IP协议、TCP协议和UDP协议、IP协议
  14. steam服务器维护6月28,绝地求生6月28日更新到几点 吃鸡更新维护公告
  15. 游戏陪玩小程序怎么开发-游戏陪玩小程序功能
  16. 家里很舒服,但是你为什么要背井离乡?
  17. SpringCloud Hystrix服务熔断和降级的理解
  18. 声源定位matlab模拟,matlab声源定位程序的一点小问题
  19. 狂神说Spring讲解第19动态代理中错误java: 不兼容的类型: com.Orac.kuang.Host无法转换为com.kuang.demo3.Rent
  20. 弘晖资本募集完成人民币三期基金

热门文章

  1. UItextInput-Protocol
  2. objective-c NSMutableAttributedString
  3. 基于ipv6的socket通信(TCP)
  4. 带叉叉的GridView
  5. Java Web servletConfig 对象
  6. window10 无法访问 Toshiba e-studio355 扫描打印一体机的机器扫描文件夹
  7. poj 3261 Milk Patterns
  8. BZOJ 1503: [NOI2004]郁闷的出纳员
  9. 懂得永恒,得要我们进化成更好的人。
  10. reporting server 数据头部每页显示