`

关于用户角色权限管理一点想法

 
阅读更多

关键字: 权限
----------------------------------------------------------------------------
我以前设计过一个权限系统的模型,但是我没有实现,
可以说出来,大家讨论一下。

我认为一个系统的权限部分应该由以下四个部分组成:

Resource
Privilege
Role
User
另外,一个系统中最少有这么几个角色:
Creator, 也可以称做 Programmer.
Administrator, 超级用户
General User
----------------------
权限各部分之间的关系:
----------------------
1. Resource 就是系统的资源,比如部门新闻,文档等各种可以被提供给用户访问的对象.

2. Privilege 是 Resource Related 的权限。
什么意思?就是指,这个权限是绑定在特定的资源实例上的。
比如说部门新闻的发布权限,叫做"部门新闻发布权限".
这就表明,该 Privilege 是一个发布权限,而且是针对部门新闻这种资源的一种发布权限。
我认为,Privilege 是由 Creator 在做开发时就确定的。

3. Role, 是角色,拥有一定数量的权限。

4. User, 与 Role 相关。在我设计的系统里,User是不能与 Privilege 直接相关的,
User 要拥有对某种资源的权限,必须通过Role去关联.

----------------------
系统大串联:(^_^)
----------------------
下面简单介绍一下,一个权限从开发到使用的过程.

1. Creator 创造 Privilege, Creator 在设计和实现系统时会划分,一个子系统或称为模块,
应该有哪些权限. 拿新闻这一块来说,可能应该有:
发布权限(publish)
修改权限(modify)
审核权限(review)
浏览权限(visit) .......
这里完成的是 Privilege 与 Resource 的对象申明,并没有真正将 Privilege 与具体
Resource 实例联系在一起.

2. Administrator 指定 Privilege 与 Resource Instance 的关联.
在这一步, 权限真正与资源实例联系到了一起, 产生了 Privilege Instance。
比如,Administrator 创建了一个叫做 "部门新闻" 的Resource Instance.
然后将发布权限与这个资源相关联,产生出 "部门新闻发布权限" 这个 Privilege Instance.

3. Administrator 创建一个角色,称做 "部门新闻发布者".

4. Administrator 将 "部门新闻发布权限" 赋予 "部门新闻发布者".

5. Administrator 从用户列表中选取一个或多个用户,
然后给这些用户赋予 "部门新闻发布者" 的角色

6. User 进到系统,在它的可访问资源列表上,会出现"部门新闻发布"的链接.

7. User 点击 "部门新闻发布"的链接, 根据 Creator 的实现,系统会检查
[1] 当前用户是否拥有发布权限
[2] 当前用户的发布权限是否与能操作正在访问的资源.

----------------------
结束语
----------------------
这是我一次在飞机场等飞机时突然设计出来的东西。因为没有具体实现,
而且也可能因为时间仓促,没有想得很透彻,希望写出来大家讨论一下。
具体实现上的技术问题,我也想过,我觉得应该已经想通,但是介于时间关系,
这里写不了啦,大家可以谈谈看法 .
分享到:
评论

相关推荐

    用户角色权限管理模块

    在IT系统设计中,用户角色权限管理模块是一个至关重要的组成部分,它主要负责维护系统的安全性和访问控制。这个模块确保了不同类型的用户只能访问他们被授权的功能和数据,从而保护了系统的完整性并提升了用户体验。...

    应用信息系统用户帐号与角色权限管理办法.doc

    应用信息系统用户帐号与角色权限管理办法 本管理办法旨在加强 XX 妇幼保健中心应用信息系统用户帐号和用户权限申请与审批的规范化管理,确保中心各应用信息系统安全、有序、稳定运行。 用户管理 用户管理是指对...

    RBAC用户角色权限设计方案

    RBAC(Role-Based Access Control,基于角色的访问控制)是一种广泛采用的权限管理系统,它通过角色这一中间层来连接用户和权限,简化了权限分配的过程。 #### 二、RBAC的基本概念 RBAC模型主要包括以下几个核心...

    Oracle用户、权限、角色管理

    角色是一组预定义权限的集合,可以简化权限管理。例如,`DBA`角色包含所有系统管理员所需的权限,而`CONNECT`角色则包含用户登录数据库所需的基本权限。角色可以被授予给用户,从而自动赋予该用户所有属于该角色的...

    基于C# WinForm的用户角色权限管理系统.zip

    此项目基于mysql5.0、visual studio 2017开发出来的,主要功能包括用户的登录注册,学生信息以及成绩的增删改查,账号的增删改查,菜单的增删改,对角色分配菜单项,即授权。对账号选定角色,账号登录之后只会显示给...

    针对SU53提示修改用户角色权限

    通过对SU53事务码的详细介绍以及用户角色权限管理的具体步骤,我们了解到,在面对类似权限问题时,合理利用SAP系统的内置工具可以帮助快速定位问题并给出解决方案。对于IT顾问而言,熟练掌握SU53和PFCG事务码的操作...

    基于角色的权限管理数据库设计

    在基于角色的权限管理系统中,除了上述的基本表之外,还需要设计一些关联表来表示实体之间的关系,如用户与角色的关系、角色与权限的关系等。 ##### 用户与角色关联表 (RBAC_User_Role) 此表用于记录用户所拥有的...

    Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理

    在Asp.Net MVC框架下,结合BootStrap和Entity Framework 6.0(简称EF6.0),可以构建一个简洁而强大的用户角色权限管理系统。这个系统的核心目标是实现对后台资源的有效控制,确保只有拥有相应权限的用户才能访问...

    【猿来入此】SSM框架角色权限管理系统脚手架源码

    这个“猿来入此”提供的SSM框架角色权限管理系统脚手架源码,是一个完整的开发基础,可以帮助开发者快速搭建一套具备用户角色权限管理功能的系统。 1. **Spring框架**:Spring作为核心容器,负责管理对象的生命周期...

    用户权限管理模块(C++实现)

    本项目"用户权限管理模块(C++实现)"是一个用C++编程语言实现的权限管理解决方案,它包含了几个核心功能,如单例模式、用户区分、用户管理以及密码安全存储。 首先,我们来深入理解C++实现的用户权限管理模块。C++...

    c#用户权限管理实现

    在IT行业中,用户权限管理是系统安全的重要组成部分,尤其是在企业级应用中,它涉及到数据保护、操作合规性和责任追溯。本项目"用户权限管理实现"是基于C#编程语言和Visual Studio 2010开发环境构建的,旨在提供一个...

    JAVA用户、角色、权限、菜单、工作流管理系统

    目前系统已经基本集成的功能包含有,用户管理,角色管理,菜单管理,组织管理,数据字典,日志管理,接口管理(暂时未完成实际应用),流程配置,运行流程管理,消息管理(暂无实际应用),业务模块没有做。后台是基于...

    一个基于SpringBoot 2 的管理后台系统,包含了用户管理,组织机构管理,角色管理,功能点管理,菜单管理,权限分配,数据权

    一个基于SpringBoot 2 的管理后台系统,包含了用户管理,组织机构管理,角色管理,功能点管理,菜单管理,权限分配,数据权限分配,代码生成等功能。前端采用了Layui2。数据库以MySQL为实例,理论上是跨数据库平台.

    角色权限表设计

    权限管理是应用系统中比较棘手的问题,要设计一个通用的权限管理系统,工作量也着实不小。当然对于有些项目,权限问题并不是那么复杂。有的只需要牵涉到权限和用户两种类型的对象,只需要给用户分配权限即可。在另...

    用户管理和权限管理

    用户管理和权限管理是信息化系统中不可或缺的组成部分,它们确保了系统的安全性和数据的保护,同时提供了灵活的角色分配和访问控制机制。在这个文档中,我们详细探讨了这两个关键领域。 首先,用户管理涉及到对系统...

    权限管理后台管理系统原型

    用户权限管理后台原型,包括用户管理、角色管理、权限管理等页面原型设计

    c#通用版权限管理系统

    主要功能有:权限管理、角色管理、部门管理、用户管理、公司管理、模块管理、系统设置。适用 OA、财务、人力等办公软件系统 的二次开发,以关键字(Key)的方式来定义系统的权限,使系统权限分配更加贴合企业需求。...

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

    2. **基于角色的权限管理(RBAC)**:RBAC是一种将权限分配给角色,再将角色分配给用户的机制。它通过定义一组角色以及这些角色所具有的权限来控制用户的访问行为,从而实现了对系统资源的安全访问控制。 #### 系统...

Global site tag (gtag.js) - Google Analytics