`
starbhhc
  • 浏览: 663452 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

用户权限系统设计方案

阅读更多
核心提示:
本文介绍一个应用于企业应用通用的用户权限系统的设计框架,其设计思想与主要文档来源自 SunWu Software Studio 的 iSecurityManager 产品。本指南适用于体系结构设计人员和开发人员。 目录 简介 用户与角色 动作定义 应用模块 授权 总结 链接资源 简介
摘要
  本文介绍一个应用于企业应用通用的用户权限系统的设计框架,其设计思想与主要文档来源自 SunWu Software Studio 的 iSecurityManager® 产品。本指南适用于体系结构设计人员和开发人员。

简介
  安全始终是可信赖的企业应用的基石。
  在企业应用中,通常需要控制用户对业务操作的权限管理与控制。稍加分析不难发现这会涉及到这三个对象:用户/角色、动作/操作、授权状态,进一步分析,我们可发现“动作/操作”通常是针对某个特定的对象,譬如 『新增』动作可对应于『采购申请单』也可对应于『销售出库单』等,这些动作对应的对象我们将其称之为“应用模块”。
  至此,用户权限系统中的基本逻辑显形:谁(用户/角色)对什么(应用模块)是否具有某项操作(动作)的授权(授权状态:授予-Grant、拒绝-Deny、继承-Revoke)。


用户与角色
  使用权限的基本单位,角色是具有一组相同授权的用户的交集。用户与用户之间没有互相隶属的关系,它只可以隶属于角色,角色可以隶属于另一角色,并且可具有多重隶关系。
  用户或角色通常具有以下属性:
编号,在系统中唯一。
名称,在系统中唯一。
用户口令(角色无此属性)
  当然,在实际的商业应用中,可能还需要更多的属性来描述特定的业务需求。如在 iSecurityManager® 中用户和角色的信息

  有了用户和角色对象,还必须有一个描述他们之间隶属关系的对象,这样的对象我们称之为“成员关系(Member)”,通常它可能有如下属性:
用户编号
角色编号
  该“用户编号”和“角色编号”组合唯一约束,这里的“用户编号”可能是一个用户对象的编号,也可能是一个角色对象的编号,而“角色编号”则始终只能对应一个角色对象的编号。一个成员关系对象表示某个用户或角色隶属于另个角色。在 iSecurityManager® 中可能:用户/角色成员关系

  在 iSecurityManager® 中通过『成员设置』窗口来设置任何一个用户或角色(系统固定用户和角色除外)所隶属于的角色,也可以通过『角色属性』窗口来设置所属于当前角色的直接下级成员。

动作定义
  在涉及数据库操作的应用中,四个基本操作是“查看(Select)”、“删除(Delete)”、“新增(Insert)”以及“更新(Update)”。在一个企业应用中当然还会有更多其他的操作,尽管这些操作可能最终都基于这四个基本操作,也可能是其他的非数据操作,而我们始终无法在刚开始就完全固定这些可能的操作,为此,必须能让系统开发人员根据每个具体的应用模块来定义其所属的特定的动作/操作。
  动作/操作通常具有以下属性:
名称,在系统中唯一。
备注,描述动作/操作。 动作定义


  事实上,有些动作是需要针对具体的数据实例的,譬如“查看”、“删除”和“更新”等,这种对数据实例级别的控制比针对“应用模块”级的控制要更精细。譬如,某个用户能进行对【采购申请单】的各项操作,他应该能查看他刚填写的单据并进行某些适当的修改,但是他却不应该看到其他人填写的数据。那么,这种粗粒度的权限设置显然无法控制数据级的访问,在 iSecurityManager® 中,专门使用“流程控制”的方案和技术来达致更细粒度的对数据实例级的访问和控制。

应用模块
  应用模块通常是指对应于企业应用中的某种类型的业务单据,譬如 ERP 系统中的【采购申请单】、【销售出库单】、【客户基础资料】等,这些业务单据可能对应一或多张数据库表。如果从面向对象(Object Oriented)的视角去看,似乎可以将本文中所描述的这些概念理解成这样:“应用模块”是类,“动作/操作”则是类的方法,而“应用模块”对应的数据库表(表结构)则是类的属性,表中的这些数据/记录就是类的实例了。
  在定义规划系统中的“应用模块”时,通常还需要指定某个“应用模块”可能具有的“动作/操作”,而这些“动作/操作”由『动作定义』中进行了定义。注意:应用模块是系统中的一种逻辑组织单位。
  应用模块通常具有以下属性:
名称,在系统中唯一。
标题,描述动作/操作。
动作列表,表示该应用模块所可能具有的所有操作。
  在 iSecurityManager® 中“应用模块”的信息
应用模块定义
授权
  顾名思义,授权是指用户/角色能对哪些应用模块中的某些操作(动作)是否具有执行的许可。这里的“是否具有执行的许可”实际上指的是授权的三种状态:授予-Grant、拒绝-Deny、继承-Revoke。

授予:用户/角色对某个应用模块的某项操作具有执行的权力。
拒绝:用户/角色对某个应用模块的某项操作没有执行的权力。
继承:用户/角色对某个应用模块的某项操作是否具有执行的权力要取决于它的父角色的授权定义。
  如果对某个角色授予某项权力,其下属的用户或角色是可以覆盖该项授权定义的。默认情况下,采用就近优先、拒绝优先的原则。
  在 iSecurityManager® 中“授权设置”的

权限设置

总结
  通常“应用模块”和“动作定义”是由系统开发商在系统设计、开发阶段就定义好了,在系统交付给用户使用后就不再对此更改了(当然这也不是绝对的,不是吗?)。
  至此,有关用户权限的各项设置、定义都完成了,事实上,这并不会立即为你的应用系统带来任何安全保障,这只是一堆关于用户和授权定义的设置数据而已,还必须在应用系统中去应用这些设置数据并根据其定义的控制逻辑以对业务数据进行控制。如何利用这些用户授权数据来控制应用系统对业务数据的访问,有很多不同的解决方案,但是我认为建立一个中间数据存储层来统一所有客户端对数据源的存储访问是个不错的主意,并在这个数据访问层中应用安全设置来对业务数据的各种访问进行授权验证和控制,这样就可以统一各种客户端对数据存储的安全应用(事实上 iSecurityManager® 也正是如此处理这个问题的)。

分享到:
评论

相关推荐

    Gowin-master.国产高云FPGA 开发板及其工程

    描述:Gowin(高云)是国产FPGA里做的比较好的几家之一(安路、紫光、高云、复旦微等)。由于开发板和实际项目较少,此处按开发板对工程项目进行分类。 其他:大部分工程均有从Cyclone IV仓库移植的影子,如有其他项目需求移步Cyclone IV的仓库。 主要目录: Pocket_lab_F0: 基于高云GW1N-LV9的一款FPGA开发板,易思达和高云大学计划出品 Pocket_lab_F2: 基于高云GW2A-LV18的一款FPGA开发板,易思达和高云大学计划出品 Tang Mega 138K:基于 GW5AST-LV138 的一款FPGA开发板,Sipeed出品,曾用于 2023 年全国大学生 FPGA 大赛高云赛区 Tang Primer 20K:基于 GW2A-LV18 的一款FPGA开发板,Sipeed出品,曾用于 2022-2023 年全国大学生 FPGA 大赛高云赛区 Tang Nano 20K: 基于GW2A-LV18的一款FPGA开发板,Sipeed出品 Tang Nano 9K:基于 GW1NR-LV9 的一款 FPGA 开发板,Sipeed出

    TensorFlow Python版环境安装指南:从底层环境到anaconda配置的详细步骤,使用Mask R-CNN源码实现多张连续输出,兼容项目迁移至TensorFlow.js的技巧 ,Tenso

    TensorFlow Python版环境安装指南:从底层环境到anaconda配置的详细步骤,使用Mask R-CNN源码实现多张连续输出,兼容项目迁移至TensorFlow.js的技巧。,TensorFlow.Python版底层环境安装指南及Anaconda环境快速配置说明:涵盖Mask R-CNN源码实现及多图输出功能的训练项目搭建教程(附以往程序回溯及新版tensorflowjs的应用介绍),tensotflow.python版本底层环境安装命令。 程序都写好复制就可以安装anacoda环境。 maskrcnn源码可以连续输出多张。 以及可以跑通项目,现在用tensorflowjs了。 这个是之前跑通的主程序很多忘记了。 源程了 ,tensorflow_python_安装命令; anaconda环境安装; maskrcnn_源码; 连续输出多张; tensorflowjs; 主程序跑通。,TensorFlow环境安装指南:Python版anaconda环境配置命令及MaskRCNN源码使用教程

    如何基于大模型(DeepSeek)实现一个多智能体的对话系统的,python脚本

    如何基于大模型(DeepSeek)实现一个多智能体的对话系统的,python脚本

    新版 PFMEA 培训课件(126页,内容丰富清晰)

    AIAG(汽车工业行动小组)与VDA(德国汽车工业联合会)联合发布的FMEA(潜在失效模式及后果分析)标准,已成为全球汽车制造商和供应商的权威指南。本课程专注于过程FMEA(PFMEA),旨在帮助您深入理解其核心理念、方法与实践应用,掌握如何通过PFMEA识别设计缺陷、预防潜在问题,从而提升产品设计质量,降低开发成本,增强市场竞争力。 讲解新版FMEA七步法:1.策划与准备;2.结构分析;3.功能分析;4.失效分析;5.风险分析;6.优化;7.结果文件化。

    北京邮电大学实验报告模板带封面的非官方.zip

    实验报告

    matlab下载,欢迎下载使用

    matlab下载

    21考试真题最近的t319.txt

    21考试真题最近的t319.txt

    基于Java Swing 写的学生成绩管理系统(毕设&课设&实训&大作业&竞赛&项目)

    基于Java Swing 写的学生成绩管理系统 有数据库文件,用了仿苹果化的皮肤界面.zip项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款,质量优质,放心下载使用

    21考试真题最近的t284.txt

    21考试真题最近的t284.txt

    基于Layui+SSM框架的宿舍管理系统.zip(毕设&课设&实训&大作业&竞赛&项目)

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款,质量优质,放心下载使用

    关于操作系统的四次大作业,两次编译原理的实验和高级算法大作业.zip(课设&实训&大作业&项目)

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款,质量优质,放心下载使用

    多维度基因表达与关联性分析:WGCNA、共表达网络、表型关联与聚类模块解析,基于生物信息学技术的基因网络与模块综合分析,WGCNA分析 基因共表达网络分析 基因表型关联分析 基因聚类分析 基因模块分析

    多维度基因表达与关联性分析:WGCNA、共表达网络、表型关联与聚类模块解析,基于生物信息学技术的基因网络与模块综合分析,WGCNA分析 基因共表达网络分析 基因表型关联分析 基因聚类分析 基因模块分析 ,WGCNA分析; 基因共表达网络分析; 基因表型关联分析; 基因聚类分析; 基因模块分析,基因网络与模块分析综合研究

    1a89e6f5b1485b055ed7f0aeccd7b9f9.docx

    1a89e6f5b1485b055ed7f0aeccd7b9f9.docx

    GDUT 编译原理课程的课内实验和课程设计含报告.zip

    实验报告

    Matlab Simulink模型:三机九节点系统中双馈风机虚拟惯性与下垂控制在频率二次跌落中的应用与对比,Matlab Simulink模型:三机九节点系统下的风机虚拟惯性与下垂控制参与一次调频及频

    Matlab Simulink模型:三机九节点系统中双馈风机虚拟惯性与下垂控制在频率二次跌落中的应用与对比,Matlab Simulink模型:三机九节点系统下的风机虚拟惯性与下垂控制参与一次调频及频率二次跌落对比研究,Matlab simulink 频率二次跌落,双馈风机惯性控制+下垂控制参与系统一次调频的Matlab Simulink模型,调频结束后转速回复,造成频率二次跌落 系统为三机九节点模型,所有参数已调好且可调,可直接运行,风电渗透率20% 风机采用惯性+下垂控制。 有文档,可讲解。 对比不同恢复时间下二次跌落。 ,核心关键词: Matlab Simulink; 频率二次跌落; 双馈风机; 虚拟惯性控制; 下垂控制; 系统一次调频; 转速恢复; 三机九节点模型; 风电渗透率; 恢复时间; 对比。,Matlab Simulink模型中双馈风机虚拟惯性控制与下垂控制对频率二次跌落的影响研究

    2010-2022年国家农业龙头企业.xlsx

    国家农业龙头企业数量主要指的是经过国家相关部门认定,并在农业产业化方面发挥重要引领作用的企业的总数。这些企业通常以农产品加工或流通为主业,通过各种利益联结机制与农户相联系,带动农户进入市场,实现农产品生产、加工、销售的有机结合和相互促进。 数据名称:国家农业龙头企业数量 数据年份:2010-2022年 ## 02、相关数据 省份、年份、龙头企业数量。

    基于5G指纹的智能室内定位技术研究-王志坤.pdf

    基于5G指纹的智能室内定位技术研究_王志坤.pdf

    基于Structs+Hibernate+Spring+mahout+bootstrap+junit+tomacat+mysql 实现的网上书店前后台系统(毕设&课设&实训&大作业&竞赛&项目)

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款,质量优质,放心下载使用

    基于扩展卡尔曼滤波的车辆状态观测器:Carsim与Simulink联合应用,高效估计车辆Vx、β、γ状态,附详细注释与说明文档,基于扩展卡尔曼滤波的Carsim与Simulink联合车辆状态观测器 利

    基于扩展卡尔曼滤波的车辆状态观测器:Carsim与Simulink联合应用,高效估计车辆Vx、β、γ状态,附详细注释与说明文档,基于扩展卡尔曼滤波的Carsim与Simulink联合车辆状态观测器 利用子函数编程,可估计Vx、β、γ状态,附低版本simulink文件及详细注释文档。,基于扩展卡尔曼滤波(Extended Kalmam Filter, EKF)的车辆状态观测器 Carsim与Simulink联合 可估计车辆Vx,β,γ(效果见图) EKF使用子函数形式编程,只要定义好状态方程和观测方程,便可方便的进行二次开发 Carsim2019 MATLAB2020a 可提供对应的低版本simulink文件 带有详细注释和说明文档 Carsim与Simulink联合估计难度与单纯的Simulink模型估计难度不同 ,基于扩展卡尔曼滤波;车辆状态观测器;Carsim与Simulink联合;Vx,β,γ估计;低版本simulink文件;详细注释和说明文档。,基于EKF的车辆状态观测器:Carsim与Simulink联合仿真及效果展示

    21考试真题最近的t394.txt

    lstm21考试真题最近的t394.txt

Global site tag (gtag.js) - Google Analytics