在blog中看到有人写到web权限管理的一些文章,这里把我曾经做过的一些权限管理作一下总结,欢迎拍砖。
这里讨论的权限只涉及到信息管理系统里面的权限管理,超出此范围的权限管理暂不涉及。
1、权限的应用对象
上面我们已经定义了权限的范围,就是信息系统管理里面的表单操作,那么权限的应用对象就是表单,更进一步说,就是表达表单内容的web管理页面。
2、权限的分类
一个页面的权限范围分为以下几种,也可以叫做基本权限单位。
l 操作权限:操作权限是一种页面级别的权限,也可以叫做页面权限。包括以下几种
n 新增
n 修改
n 删除
n 查询
在此基础上还可以进行更加详细的一些分类,比如查看他人记录的权限,修改他人记录的权限等。这部分也可以使用下面的记录权限来实现。
l 按钮权限:针对页面上按钮的权限管理,包括
n 是否可见
n 是否可用
有时候,我们可以把按钮权限看作为字段权限。
l 字段权限:字段在页面的不同状态(新增,修改,查询)下面的各种状态管理。包括
n 是否可见
n 是否可修改
l 记录权限:记录权限是指用户对某些记录的查看和修改权限。比如客户关系管理系统中,不同界别的系统用户可以看到不同的记录,例如上司可以看他所有下级员工的客户列表等。
3、权限的实现模型
上面的权限分类大概对涉及到页面元素的权限进行了一个比较全面的概括。另外一个问题就是权限管理的实现模型。在大部分的系统中都是用的基于角色控制模型的权限管理。在这样的系统中,创建一系列的角色,然后把基本权限单位分配给这些角色,再把角色分配给用户,这样用户登录系统后,就根据当前用户所拥有的角色可以定位出权限。
在针对信息管理系统中,权限模型有自己的特色,除了角色的概念以外,还有表单权限的概面。第一节里面所讨论的各种权限基本单位不但可以应用到角色上,也可以应用到表单上。
对于应用到表单上的基本权限单位,我们叫做表单的固有权限属性(静态权限)。对于应用到角色上的基本权限单位,我们叫做角色权限属性(动态权限)。用下图来表示:

根据上面的模型,一个用户登录到系统中后,得到某一个表单的权限就和这个表单的固有权限属性和这样用户所拥有的角色有关。
4、权限的计算方式
用户登录后对一个表单进行操作,静态权限只有一个,即表单本身的权限属性,动态权限可以有多个,即用户可以同时属于多个角色,这些角色在这个表单上都有不同的动态权限。用户对这个表单所能进行的操作是由这个动态权限和静态权限的综合作用决定的。进行权限判断分为两个步骤:
1、 动态权限组合:根据用户所属的角色的权限分析得到最终的动态权限集合。
2、 动态权限和静态权限的组合:利用得到的动态权限集合再和静态权限进行综合分析得到用户的最终权限。
在动态权限和动态权限进行组合判断,以及动态权限和静态权限进行组合判断的时候,根据权限类型的不同,使用不同的组合判断方法
对于 操作权限,分为两种组合方法:
l 或操作:或操作认为,两个层次的权限单位进行比较,只要其中一个权限单位认为“可以做”,那么组合权限结果就是“可以做”。例如对于“增加”这个操作权限,如果角色A设置为可以增加,角色B设置为不可以增加,那么综合的结果就是 可以进行 “增加”
l 与操作:与操作认为,两个层次的权限单位进行比较,只要其中一个权限单位认为“不可以做”,那么组合权限结果就是“不可以做”。例如: 对于“增加”这个操作权限,如果角色A设置为可以增加,角色B设置为不可以增加,那么综合的结果就是 不可以进行 “增加”
对于字段权限 和 记录权限 只有一种组合方法:
l 权限并集:也就是说组合的结果是这两种层级的权限单位控制范围的一个相交的结果。例如:对于角色A,他在表单F上的的只读字段为(a,b,c,d),角色B在表单F上的只读字段为(c,d,e,f),那么角色A和角色表的相交结果就是只读字段集合(a,b,c,d,e,f)。
下面两张表显示了不同的权限层次,不同的权限类型在进行权限比较时选择不同的比较方法:
不同的角色之间进行权限比较:
|
角色B-操作权限
|
角色B-字段权限
|
角色B-记录权限
|
角色A-操作权限
|
或操作
|
|
|
角色A-字段权限
|
|
并集
|
|
角色A-记录权限
|
|
|
并集
|
当有多个角色权限是,列入有角色A,B,C,D,先对A,B做计算,然后把计算结果和C进行计算,依次类推。
动态权限和静态权限进行权限比较:
|
动态权限-操作权限
|
动态权限-字段权限
|
动态权限-记录权限
|
静态权限-操作权限
|
与操作
|
|
|
静态权限-字段权限
|
|
并集
|
|
静态权限-记录权限
|
|
|
交集
|
分享到:
相关推荐
基于web信息管理系统的权限设计分析和总结.pdf
《基于Web的体检信息管理系统设计与实现》是一个利用Java技术构建的在线体检信息管理系统,旨在为需要健康证的个人和办理健康证的机构提供便捷、高效的服务。该系统结合了现代Web技术,以满足社会对健康关注的日益...
在基于Web的信息管理系统中,权限设计是至关重要的一个环节,它确保了系统数据的安全性和用户访问的合法性。本文主要分析和总结了权限设计的核心概念、分类、实现模型以及权限的计算方式。 首先,权限设计的对象...
【基于WEB旅游信息管理系统设计与实现】 随着信息技术的飞速发展,旅游行业的信息化管理变得越来越重要。本系统设计旨在利用先进的计算机技术和网络技术,构建一个高效、便捷的旅游信息管理系统,以提升旅游业的...
【基于Web的体检信息管理系统设计与实现】是一个针对现代社会对健康管理日益增长需求的项目,它利用先进的Web技术构建一个方便快捷的在线体检信息管理平台。该系统的主要目标是为需要健康证的人群和办理健康证的机构...
### 基于WEB学生信息管理系统的关键知识点 #### 一、项目概述 - **项目名称**:学生信息管理系统(Student Information Management System, SIMS) - **学号**:200881010230 - **学院**:计算机科学学院 - **班级*...
基于Web的学生信息管理系统是一种网络化的教育管理工具,它旨在解决随着学校规模扩大和学生数量增加而产生的学生信息管理复杂问题。该系统的设计与实现主要围绕以下几个核心知识点: 1. **B/S结构**:即Browser/...
本文将详细介绍一个基于WEB的仓库管理系统的开发过程,包括项目背景、系统需求分析、设计与实现等关键环节。 #### 二、项目背景与意义 在当今竞争激烈的市场环境中,企业必须不断提高自身的竞争力。仓库管理是企业...
综上所述,"基于Web服务的图书管理系统的设计与实现"是一个综合性的项目,涉及Web服务技术、数据库管理、用户界面设计、权限控制等多个IT领域的知识,旨在创建一个高效、安全、用户友好的图书管理平台。
【基于Web的学生成绩管理系统的设计与实现】 随着21世纪科技的快速发展,信息时代已经深入到社会的各个角落,教育领域也不例外。学校管理工作日益信息化,尤其是学生成绩的管理,已经成为教育机构不可或缺的一部分...
在设计和开发基于Web的人事管理系统时,以下几个核心知识点至关重要: 1. **Web技术**:系统基于Web,通常采用B/S(浏览器/服务器)架构,用户通过浏览器即可访问。常见的技术栈包括HTML、CSS和JavaScript用于前端...
### 基于Web的学生信息管理系统的设计与实现 #### 一、系统背景与意义 随着教育信息化的发展,学校规模不断扩大,学生数量逐年增加,传统的手工管理方式已经难以满足对学生信息的有效管理需求。为了提高学生信息...
### 基于Web的学生信息管理系统的设计:关键知识点解析 #### 一、系统概述与建设目标 本系统旨在通过Web技术构建一个高效、便捷的学生信息管理平台,利用Oracle数据库实现数据存储与处理功能。该系统的目标是提升...
- 设计背景:在信息化时代,传统的图书管理方式已经无法满足现代图书馆的运营需求,因此需要构建一个基于Web的图书管理系统,以提高图书管理的效率和准确性。 - 设计目的与意义:通过该系统,可以实现图书信息的...
《基于Web的图书管理系统》是一篇毕业论文,其主要研究内容是设计并实现一个网络化的图书管理平台。这篇论文详细阐述了系统开发的全过程,包括系统的需求分析、设计思路、技术选型、实现方法以及测试与优化。通过...
本文以“基于Web的毕业设计管理系统-登陆管理模块”为主题,探讨了如何运用ASP(Active Server Pages)和SQL(Structured Query Language)技术,构建一个能够实现网上毕业设计全流程管理的系统。 2 系统需求分析 ...
【基于Web的人事工资管理系统的设计与实现】 在信息化社会中,人事工资管理是企业运营的重要环节,对于提高工作效率和准确性有着显著作用。基于Web的人事工资管理系统能够跨越地域限制,提供便捷的线上服务,实现...