`
starbhhc
  • 浏览: 648901 次
  • 性别: 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® 也正是如此处理这个问题的)。

分享到:
评论

相关推荐

    权限管理系统设计方案

    【权限管理系统设计方案】是关于如何构建一个有效管理用户权限的系统的详细文档。权限设计的核心在于理解用户、组、角色和权限这四个基本概念及其相互关系。 1. **权限设计概念** - **权限资源**:权限资源是系统...

    系统权限管理设计方案.pdf

    在该设计方案中,管理员用户可以查看每个用户的最终权限列表。权限管理基本操作权限与权限组(基本操作权限的集合)的管理。 OA权限管理设计的实现物理数据模型图如下: 物理数据模型图根据以上设计思想,权限管理...

    用户权限设计方案

    用户权限设计方案 用户权限设计方案是指通过建立用户、角色和权限等数据库表,并且建立之间的关系来实现用户认证管理的设计方案。该方案的主要目的是为了提供一种具有较强可扩展性的用户认证管理系统,能够满足不同...

    权限管理设计方案(详细设计)

    权限管理设计方案是为了设计一套具有较强可扩展性的用户认证管理系统,需要建立用户、角色和权限等数据库表,并且建立之间的关系。本设计方案的主要内容包括用户认证管理设计、角色设计、权限设计、用户与角色的关系...

    权限设计方案(针对OA系统的特点,权限说明:)

    对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配...

    涉密系统设计解决方案 三员管理.docx

    涉密系统设计解决方案的核心在于"三员管理",即系统管理员、安全保密管理员和安全审计员,这三类角色在确保信息安全和保密性方面扮演着至关重要的角色。 系统管理员是涉密系统的守护者,主要任务包括系统的日常运行...

    OA系统权限管理设计方案

    ### OA系统权限管理设计方案 #### 一、引言 随着企业规模的不断扩大和技术的发展,办公自动化(OA)系统已经成为提高工作效率、规范管理流程的重要工具。权限管理作为OA系统中的核心功能之一,对于确保数据安全、...

    权限系统设计思路与设计方案

    权限系统设计是软件开发中的关键组成部分,主要用于控制不同用户对系统资源的访问和操作。本文主要探讨基于用户、角色、权限的设计思路,并提供一种实现方案。 首先,理解基本概念: 1. **权限**:权限定义了用户...

    用户权限管理设计方案

    这个设计方案主要关注如何有效地设计和实施用户权限系统,确保每个用户只能访问他们被授权的数据和功能,从而保护系统的完整性和数据的安全性。下面我们将深入探讨这个话题。 首先,权限管理的核心在于用户角色。...

    用户认证管理权限设计方案

    - **创建权限**:系统管理员(Administrator)可以创建新的权限,如查看权限、修改权限等,并记录权限的名称和描述。 - **分配角色与权限**:管理员可以为用户分配角色,以及为角色添加或移除权限,实现权限的精细化...

    角色权限管理设计方案

    本文将深入探讨“角色权限管理设计方案”,基于提供的描述和标签,我们将详细阐述这一主题,以便理解如何有效地设计和实现一个权限控制系统。 首先,我们要明白权限管理的核心目标是确保用户只能访问他们被授权的...

    StandardMisSystem后台权限管理平台设计方案

    StandardMisSystem后台权限管理平台设计方案是一个综合性的系统架构,旨在实现高效、安全的后台权限控制。该平台主要包括以下几个核心模块: 1. **用户管理**:用户管理模块涉及到用户信息的展示、添加和修改。用户...

    用户权限系统设计概述

    权限系统的核心由以下三部分构成:1.创造权限,2.分配权限,3.使用权限,然后,系统各部分的主要参与者对照如下:1.创造权限 - Creator创造,2.分配权限 - Administrator 分配,3.使用权限 - User:

    RBAC用户角色权限设计方案

    ### RBAC用户角色权限设计方案详解 #### 一、引言 在现代软件系统尤其是企业级应用中,用户角色权限管理是非常重要的一部分。合理的权限管理不仅可以提高系统的安全性,还能提升用户体验,使得不同用户能够根据自己...

    基于部门和角色的权限管理系统的设计与实现

    #### 系统设计原则 - **安全性**:确保系统的安全性是首要考虑的因素,需要采取多种措施防止未授权访问。 - **灵活性**:系统应能够适应组织结构的变化,支持动态调整部门和角色。 - **可扩展性**:随着企业规模的...

    报名管理系统设计方案.pdf

    【报名管理系统设计方案】 一、系统背景 报名管理系统是教育机构或活动组织者用来高效、便捷地处理报名流程的工具。它旨在简化报名过程,提高工作效率,同时确保信息安全,避免重复和错误的报名信息。 二、系统...

    OA系统权限管理设计方案-转

    总结,OA系统权限管理设计方案的详尽性体现在它涵盖了用户角色设计、权限分配、访问控制策略、审计监控、策略制定等多个方面,旨在构建一个既安全又高效的办公环境。通过科学的权限管理,可以保护企业信息资产,提升...

Global site tag (gtag.js) - Google Analytics