管理权限分组说明

文涉及权限管理的一种面向对象模型的方法和实现。通过分析每次访问发生场景的各要素,并对各要素进行抽象而形成的一种模型,并可用于实现权限访问控制。原谅我自己取了什么“四维权限管理模型”“访问控制矩阵(ACM)”这样难听的名字,还多少有故弄玄虚之嫌,但我在半年前只有这样的见识。

 

1、访问控制矩阵(ACM)

说明:任意对系统使用者产生价值的用例中的操作均在以下四个维度加以控制:

l         Operator(操作者权限控制):

进行某种操作时,操作的主体。分为:用户,角色,单位

l         OperateMethod(操作方法权限控制):

操作的功能确定,如:读、写、查、删等

l         Object(操作对象权限控制):

操作的影响对象,通常是某种业务对象,如:表单

l         Object.Fields(操作对象属性项权限控制)

业务要求对选项敏感的对象属性项,如:表单的某数据项、表单上的简单控件等

 

2、ACM中四维数据的组成

Operator:操作者,根据业务的需要设定控制项目主要分为用户、角色、单位三种。根据业务的需要,可以控制Operator的作用先后顺序或交并运行规则;

Operate Method:操作方法,根据业务操作的对象的不同,可能是业务操作或是底层的CRUD操作;

Object:操作对象,当前操作的对象,根据业务需求可以是:业务对象,如:项目、表单;

Object Fields:操作对象属性,要求与权限控制绑定的对象的数据项。如:表单字段、表单控件等。

 

3、原理简述

ACM在权限管理和访问控制时的作用原理。一个ACM是由若干控制系统某项操作行为的若干要素组成的规则矩阵。设想一个场景,当某项操作进行时,必然有如下元素:操作者、操作方法、操作对象。所有ACM就指定了一次操作必须满足的各元素的条件。如:有ACM如下:“李厚强”、“修改”、“用户信息”。就代表:“李厚强可以修改用户信息”。当然这是一个简单的例子,事实上,情况远比这个例子复杂。首先要解决的就是操作对象的实例定位问题。即当如下访问控制出现时:“李厚强可以修改用户信息中的姓名,但不能修改用户信息中的身份证号”。很明显,现有的三维ACM已经不能满足要求了。

ACM中的操作对象之所有成为对象,是因为其具有以下两种特征:一是对象是数据的封装、二是对象本身包含对现实对象的抽象。数据的封装简化了数据处理,抽象使得对象的形式更统一、方法数量可控制。但是,当业务要求权限控制到对象的成员这一级别时,这样的封装和抽象无疑将屏蔽掉对象成员的权限敏感性。解决的方法有两种:

 

方法1:将对象的有权限敏感的成员也抽象为ACM中的对象

Operator               Operate Method                  Object

 

时间: 2024-09-27 23:38:20

管理权限分组说明的相关文章

Ecshop 后台添加新功能栏目及管理权限设置教程

一.添加菜单项 打开 /admin/includes/inc_menu.php文件(后台框架左边菜单),在最后添加一行如下: 1$modules['17_other_menu']['sns_list'] = 'sns_list.php?act=list'; ecshop默认一级菜单项有16项,所里这里的例子从17开始.当然这个key可以随便取的,index.php文件中对菜单用了ksort排序."17_other_menu" 表示一级菜单,"sns_list"表示二

集中权限管理系统-java 跨域单点登录结合集中权限管理 权限控制采用shiro

问题描述 java 跨域单点登录结合集中权限管理 权限控制采用shiro 这种需求的系统谁做过 之前 参考了 网上博客的 oauth2 但是发现不太符合我这个需求 因为oauth2只是授权 并不能解决 登录集中权限系统后 登录其他网站的问题 现在的需求是 用户权限系统只需要一个系统来 维护其他系统 没有用户系统 统一先通过集中权限系统登录后进行用户角色权限维护 如果先登录其他系统这跳转到集中权限系统进行先登录 而且也不能解决集中权限管理的问题 我想过可能需要redis来 实现这功能 但是 总感觉

利用SQL注入,通过dbo获得SQL管理权限和系统权限

我做了如下测试:(1) http://www.xxx.com/new/new.asp?id=49' Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14[Microsoft][ODBC Microsoft Access Driver] 字符串的语法错误 在查询表达式 'ID=49'' 中. /new.asp,行36 (2) http://www.xxx.com/new/new.asp?id=49 and 1=1(正常返回页面) (3) h

SQL注入实战---利用“dbo”获得SQL管理权限和系统权限

作者:覆灭之魔 文章来源:影子鹰安全网络 刚刚开始学习SQL注入入侵,有写的不对和不好的地方希望各位师哥,师姐们多多指导. 在一个供求信息发布的网站上测试了一下,页面Http://www.xxx.com/new/new.asp?id=49 我做了如下测试:(1) Http://www.xxx.com/new/new.asp?id=49' Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14[Microsoft][ODBC Microsof

利用sudo命令为Ubuntu分配管理权限

[导读]本文介绍如何利用sudo命令为Ubuntu分配管理权限. Ubuntu有一个与众不同的特点,那就是初次使用时,你无法作为root来登录系统,为什么会这样?这就要从系统的安装说起.对于其他Linux系统来说,一般在安装过程就设定root密码,这样用户就能用它登录root帐户或使用su命令转换到超级用户身份.与之相反,Ubuntu默认安装时,并没有给root用户设置口令,也没有启用root帐户.问题是要想作为root用户来运行命令该怎么办呢?没关系,我们可以使用sudo命令达此目的. sud

Win7系统的最高管理权限怎么设置?

  Win7系统的最高管理权限怎么设置? 1.首先,打开电脑用administrator账号登陆Windows7系统,打开计算机,进入Windows文件夹,随意删除一个文件夹,系统立即弹出一个提示窗口,说没有权限进行此操作.这就说明administrator账号的权限还是有限制的.那么它是最高的权限吗?下面我们来看看TrustedInstaller权限,是否它比administrator的权限更高呢? 2.administrator权限 3.TrustedInstaller权限,下面我们就要来学

tp路由器wr890n怎么设定管理权限

  tp路由器wr890n设定管理权限的第一步.进入设置页面 登录路由器管理界面,点击 设备管理,进入管理设置页面,如下图. 找到管理员身份限定,点击进入. tp路由器wr890n设定管理权限的第二步.设置管理员身份限定 1.设置管理类型 选择对应管理员身份限定类型,如下. 注意.您也可以点击手动添加MAC地址. 2.选择有管理权限主机 选择您准备给予管理权限的主机. 3.保存设置 设置完成后,点击 保存. 至此,管理员身份限定设置完成.

如何设置Win7系统的最高管理权限的图文方法介绍

很多Windows7用户都认为administrator账号的权限是最高,很多在user账号下不能运行的软件,在administrator 账号中都可以正常运行.今天我们就来通过一项操作来验证一下administrator账号是否是Windows7的最高权限? 开机以后, 用administrator账号登陆Windows7系统,打开计算机,进入Windows文件夹,随意删除一个文件夹,系统立即弹出一个提示窗口,反馈说您需要权限来执行操作.这就证明administrator账号的权限还是有限制的

tp云路由器怎么设置管理权限

  TP-link云路由器设置管理权限第一步.进入设置页面 登录路由器管理界面,点击 设备管理,进入管理设置页面,如下图. 找到管理员身份限定,点击进入. TP-link云路由器设置管理权限第二步.设置管理员身份限定 1.设置管理类型 选择对应管理员身份限定类型,如下. 注意.您也可以点击手动添加MAC地址. 2.选择有管理权限主机 选择您准备给予管理权限的主机 3.保存设置 设置完成后,点击 保存. 至此,管理员身份限定设置完成.