当前位置: 首页 > news >正文

浅谈角色与权限

项目开发中,经常会涉及到一些基础开发,如组织机构管理,人员管理,权限管理等,这些是应用系统非常重要的基础组成部分,正因为大多应用系统都会用到这些组件,许多朋友如吉日想到了开发一个通用组件来出售,今天看到了郑州朋友许飞的文章,略有所感,也写一点关于这方面的分享。

一个供多人使用的应用程序,通常会对使用者加以区分,如超级管理员,管理员,普通用户等,也有些是如领导,员工之类的,不同的人在系统中可以做的事情是不同的,如超级管理员就可以查看管理员的操作日志,管理员可以增加普通用户,那么如果将这些操作简单抽象出来就是所谓的权限不同了,我们可以说能够进入后台的人只能是具备管理权限的人。也可以再做抽象,就是将超级管理员,管理员,普通用户当作是角色。这里我将角色跟权限分了两种设计方式来说。

人-权限

这种一般适用于小型系统,简单实用,每一个权限对应一个code,例如删除用户就是deluser,这个人如果有这个code就有权限,没有就不能执行删除用户动作。

人(deluser) ==>可以执行===>删除用户模块(deluser)

如张三(adduser,deluser)

李四(adduser)

那么,李四没有删除用户模块的code就不能执行删除用户动作。

人-角色-权限

这种方式呢是,对权限的进一步抽象,例如删除用户和添加用户都是管理员做的事情,那么就将这集中权限抽象出来我们叫管理员角色,还有普通用户角色等等。

具体应用是

管理员角色:删除用户,添加用户,添加文章

普通用户:浏览用户,浏览文章

测试用户:添加文章,浏览文章

将角色分配给人时:

张三:管理员

李四:普通用户

 

两种设计各有好处,可根据系统的复杂度来选择。本问只是简单说了一些想法,欢迎交流。

相关文章:

  • Exchange2007如何给邮件通讯组Distribution Group设置Send As与Behalf 权限
  • 错误与修正
  • 转: CRT检测内存泄漏技巧以及注意问题
  • RIP协议拓扑结构变化-收敛
  • Redhat 下不重启系统发现LUN
  • asp.net导出数据到EXCEL简单有效
  • RedHat 6.0环境下Oracle 8.0.5的安装
  • Windows 7下用无线网卡自建热点共享Internet访问
  • Oracle发布更新使数据库性能优化达到75%
  • tip
  • 关于MySQL备份还原的几种方案
  • DLL导入
  • 机械版CG 附加实验1 中点画线算法
  • N多JPG图片如何转换成PDF文档
  • PHP反射的一些特性
  • [deviceone开发]-do_Webview的基本示例
  • [笔记] php常见简单功能及函数
  • 【刷算法】从上往下打印二叉树
  • 2017年终总结、随想
  • github从入门到放弃(1)
  • HTTP中GET与POST的区别 99%的错误认识
  • JavaScript 一些 DOM 的知识点
  • JavaScript设计模式系列一:工厂模式
  • vue中实现单选
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 飞驰在Mesos的涡轮引擎上
  • 关于 Cirru Editor 存储格式
  • 模型微调
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 小程序button引导用户授权
  • 应用生命周期终极 DevOps 工具包
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 函数计算新功能-----支持C#函数
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #laravel 通过手动安装依赖PHPExcel#
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (20050108)又读《平凡的世界》
  • (5)STL算法之复制
  • (HAL库版)freeRTOS移植STMF103
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (一)Neo4j下载安装以及初次使用
  • (转)一些感悟
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .net Stream篇(六)
  • .Net 代码性能 - (1)
  • .net 生成二级域名
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .Net中ListT 泛型转成DataTable、DataSet
  • @Import注解详解
  • @RequestMapping处理请求异常