`
xgbjmxn
  • 浏览: 269287 次
  • 性别: Icon_minigender_1
  • 来自: 新乡
社区版块
存档分类
最新评论

一个用户权限管理模块的设计思路

阅读更多

:一个用户权限管理模块的设计思路

一、

1. 权限资源(功能资源)

系统的所有权限信息。权限具有上下级关系,是一个树状的结构。如下:

<!--[if !supportLists]-->u  <!--[endif]-->系统管理

<!--[if !supportLists]-->l  <!--[endif]-->单位管理

<!--[if !supportLists]-->u  <!--[endif]-->查看单位

<!--[if !supportLists]-->u  <!--[endif]-->添加单位

<!--[if !supportLists]-->u  <!--[endif]-->修改单位

<!--[if !supportLists]-->u  <!--[endif]-->删除单位

 
<!--[if !supportLists]-->l  <!--[endif]-->部门管理

<!--[if !supportLists]-->u  <!--[endif]-->查看部门

<!--[if !supportLists]-->u  <!--[endif]-->添加部门

<!--[if !supportLists]-->u  <!--[endif]-->修改单位

<!--[if !supportLists]-->u  <!--[endif]-->删除单位



对于每个权限,又存在两种情况:1可访问;2可授权,部分表中采用拥有类型做判断(0可访问,1即可访问也可授权)



2. 用户

系统的具体操作者,用户可以自己拥有权限信息,可以归属于0~n个角色,可属于0~n个组。他的权限集是自身具有的权限+所属的各角色具有的权限+所属的各组具有的权限的合集。它与权限、角色、组之间的关系都是n对n的关系。



3. 角色

为了对拥有相似权限的用户进行分类管理,因此定义角色,例如:超级管理员,一般管理员、一般用户等角色。在这里同时也让角色具有上下级关系,形成树状视图,父级角色的权限是自身及它的所有子角色的权限的综合。



4. 组

为了更好地管理用户,对用户进行分组归类,简称为用户分组。组也具有上下级关系,可以形成树状视图。在实际应用中,我们知道,组也可以具有自己的角色信息、权限信息。

就好比是javaeye中的圈子,一个圈子可以拥有多个会员,同时一个会员也可以加入多个圈子,对于不同的圈子又有不同的权限信息。(组的解释:例如一个公司中,不同的部门即可划分不同的组来进行权限的分配)



针对以上描述,结构关系如下:





整个模块分为组权限管理、角色权限管理、用户权限管理。

其中组权限管理:组权限 = 所属角色的权限合集 + 组自身的权限。

角色权限管理:角色权限 = 角色自身权限。

用户权限管理:用户权限 = 所属角色权限合集 + 所属组权限合集 + 用户自身权限。



注意:因为组和角色都具有上下级关系,所以下级的组或角色的权限只能在自己的直属上级的权限中选择,下级的组或者角色的总的权限都不能大于直属上级的总权限。

二、
做过些系统,用过人员←→功能权限、人员←→部门←→功能权限、人员←→岗位/职务←→功能权限、人员←→分级机构←→功能权限等各种权限管理方式,最后还是感觉人员←→角色←→功能权限这种方法最简单实用,好处理,也好跟客户讲解。
简单来说就是先给角色分配功能操作权限,再为人员分配角色,一人员可以承担单一角色或者多角色,当其岗位或者工作任务变化时直接调整角色,当角色权限不能满足工作需要时再增加角色调整或者角色权限,什么问题都解决了。这种方法最适合国内客户。
角色是虚拟的事物,客户那开始时有不理解的,就跟客户说,比如角色其实跟岗位差不多,但实情是:
一、岗位职责在软件系统中仍可能存在不明确,从人管到机管的过渡中这样的事时常有。
二、兼管,本来不在岗位职责的工作需要兼管,或者临时代管,用角色来替代很合适。
三、岗位在单位中特别是大中型企业中是固定的,专岗专责,这时用虚拟的角色来完成岗位固定、分工不同更恰当不过。


分享到:
评论

相关推荐

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

    4. **用户组**:相同权限的用户可以归为一个用户组,简化权限分配。 5. **授权**:将角色赋予用户或用户组,完成权限分配。 6. **用户转换**:允许用户在不同用户组间切换,适应动态的权限需求。 权限系统设计...

    权限管理系统设计方案

    - **系统权限模块**:包含了以上各个管理部分的详细功能结构,如组权限管理中的用户管理、角色管理、权限设置和权限总览等功能。 4. **界面总体设计** - **界面布局**:在组权限管理界面中,提供了查看和编辑组的...

    基于数据库的通用权限管理模块的设计与实现

    ### 基于数据库的通用权限管理模块设计与实现 #### 概述 在现代信息系统的设计与开发过程中,用户权限管理模块是不可或缺的一部分。它主要负责控制不同用户对系统资源的访问权限,确保数据安全的同时也提升了系统...

    办公管理系统权限的思路

    通过合理设计用户、角色、模块之间的关系,结合灵活的操作标识和针对用户的单独授权机制,可以构建出一个既安全又高效的权限管理体系。这不仅有助于提升办公管理系统的用户体验,还能为企业提供更强大的安全保障。

    分析图书管理系统的用户管理模块且绘制类图 (1).docx

    图书管理系统的用户管理模块设计与实现 图书管理系统的用户管理模块是图书管理系统的核心组件之一,负责管理用户的注册、登录、密码修改、权限管理和用户信息浏览等功能。本文将详细介绍用户管理模块的设计和实现,...

    WEB管理系统中用户权限管理的设计与实现.doc

    实现思路是管理员登录后选择用户管理功能下的用户权限分配功能,在弹出的页面上首先选择要分配权限的用户,然后分别采用GridView显示选中用户未分配的权限和分配的权限,在未分配的权限中选择要分配给选中用户的功能...

    权限组件设计思路(推荐)

    本篇文章将深入探讨权限组件的设计思路,帮助开发者理解如何有效地实现这一重要功能。 首先,权限组件的核心目标是实现对用户操作的精细化控制。这包括对资源(如数据、功能模块)的访问权限进行定义、分配、检查...

    JSPSmart系统-权限管理与日志记录模块的设计与开发(源代码+论文).zip

    在JSPSmart系统中,权限管理主要包括角色定义、权限分配、用户授权三个部分: 1. 角色定义:系统中的角色是对一组权限的抽象,比如管理员、普通用户等。通过角色,可以方便地对大量用户的权限进行批量设置。 2. ...

    通用权限管理系统文档资料\设计\扩展RBAC用户角色

    一个用户可以拥有多个角色,而一个角色也可以被多个用户共享。 #### 用户组的概念 - **用户组定义**:用户组是一组具有相似特性的用户的集合。引入用户组可以帮助简化权限管理过程,特别是当面对大量用户时。 - **...

    ASP.NET教育报表管理系统-权限管理模块(源代码+论文)

    综上所述,ASP.NET教育报表管理系统的权限管理模块是一个集用户管理、角色管理和权限分配于一体的综合系统,通过ASP.NET框架的特性实现高效的安全控制。配合源代码和论文,学习者不仅能了解理论知识,还能通过实践...

    通用权限\通用权限管理概要设计说明书

    - **模块结构设计**:详细列出了系统的主要模块,如用户管理、角色管理、权限管理、资源管理等,每个模块都有其特定的功能和交互方式。 - **尚未解决的问题**:指出当前设计中存在的问题或待决策事项,可能涉及...

    概要设计说明书(通用权限管理系统)

    系统的总体设计思路是将系统分为组权限管理、角色权限管理、用户权限管理、组织管理和操作日志管理五部分。组权限管理包括包含用户、所属角色、组权限资源和组总权限资源四部分。角色权限管理包括包含用户、包含组和...

    ASP.NET教育报表管理系统-权限管理模块(源代码+设计说明书).zip

    ASP.NET教育报表管理系统是一个专为教育领域定制的综合性系统,其权限管理模块是系统的核心组成部分,确保了数据的安全性和操作的合法性。这个压缩包包含了该模块的源代码和设计说明书,为开发者提供了一个深入理解...

    ASP.NET教育报表管理系统-权限管理模块(源代码+论文).rar

    【ASP.NET教育报表管理系统-权限管理模块】是一个基于ASP.NET技术的教育领域信息化管理系统,它主要关注于权限控制这一核心功能。此系统适用于各类教育机构,帮助他们有效地管理和监控用户访问权限,确保数据的安全...

    ASP.NET教务管理平台-权限及公共模块设计与开发(源代码+论文).zip

    总的来说,ASP.NET教务管理平台结合了权限管理和公共模块设计,实现了全面、安全的教务信息管理。通过深入研究源代码和论文,我们可以学习到.NET框架下的系统开发技巧,以及如何构建一个实用且安全的教务管理平台。...

    图书馆管理系统极其各个模块设计

    本篇文章将详细探讨图书馆管理系统的整体设计思路,以及其关键模块的设计与实现。 一、需求分析 在设计图书馆管理系统前,首要任务是对需求进行深入分析。这涉及到识别图书馆的主要业务流程,如图书入库、图书分类...

    SSH框架下的用户权限管理(树形结构)

    "概要说明.wps"可能是对整个项目或者权限管理模块的详细文档,解释了设计思路、实现方法以及如何使用MzTreeView等。"user"文件可能包含了用户的详细信息,或者是一个示例用户的数据。 总结起来,这个项目利用SSH...

    java模块级通用权限

    设计文档中的截图通常会展示数据库表结构、实体类关系图、代码示例等,帮助开发者理解设计思路。分析部分可能包含对权限控制策略的解释、选择特定设计模式的原因、以及如何解决潜在问题的讨论。 **安全性考虑** 在...

Global site tag (gtag.js) - Google Analytics