`

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

 
阅读更多

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

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

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] 当前用户的发布权限是否与能操作正在访问的资源.

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

相关推荐

    RBAC用户角色权限设计方案

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

    角色用户权限DB设计

    一直想整理一篇关于用户角色权限的设计,这几天通过网上资料和自己实际工作中运用到的资源把用户角色权限的数据库表设计出来。 基础表有3张: 角色表--用来记录角色名称 用户表--用来记录登录用户名称和登录密码 ...

    SpringBoot + SpringSecurity + JPA 实现用户角色权限登录认证

    总结来说,本项目展示了如何利用SpringBoot、SpringSecurity和JPA在IntelliJ IDEA环境下构建一个完整的用户角色权限管理系统,通过security.sql和security-jpa这两个关键组件,实现了数据初始化和核心业务逻辑的构建...

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

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

    信息系统用户帐号和角色权限管理流程.pdf

    信息系统用户帐号和角色权限管理流程.pdf信息系统用户帐号和角色权限管理流程.pdf信息系统用户帐号和角色权限管理流程.pdf信息系统用户帐号和角色权限管理流程.pdf信息系统用户帐号和角色权限管理流程.pdf

    基于角色的用户权限系统设计

    - **资源类型(ResourceType)**: 描述资源的类型信息,有助于细化权限管理。 #### 4. 权限与操作符 - **权限(Privilege)**: 具体操作权限,如读取、写入等。 - **操作符(Operator)**: 描述特定资源类型上的...

    基于Flask框架的权限管理系统源码:用户-角色-资源-机构全面管理

    项目概述:基于Python的Flask框架开发的权限管理系统,全面涵盖用户、角色、资源和机构的管理功能。该项目采用CSS、HTML、JavaScript、Python及PHP多语言编写,共有2432个文件,其中包括丰富的静态资源与逻辑代码。...

    大型数据库技术-实验五 用户、角色与权限管理.doc

    在大型数据库技术中,用户、角色与权限管理是至关重要的环节,确保了数据的安全性和访问控制。本实验主要涉及以下几个核心知识点: 1. **概要文件(Profile)**: - 概要文件用于定义用户的资源限制,如CPU使用量...

    角色权限表设计

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

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

    在Asp.Net MVC框架中,开发人员经常使用BootStrap和Entity Framework(EF6.0)来构建功能丰富的Web应用程序,其中包括用户角色权限管理。这是一个关键的系统设计部分,用于确保用户只能访问他们被授权的功能和数据。...

    oracle 用户、权限和角色管理

    oracle 用户、权限和角色管理,oracle 人员必看。

    c#通用版权限管理系统

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

    Go-gotools是一个带角色权限用户管理的Go脚手架

    Go-gotools便是一个专门针对这一需求设计的Go语言脚手架,它为开发者提供了一个快速构建带有角色权限管理功能的应用程序的框架。本文将详细介绍Go-gotools的特点、功能及其使用方法,帮助开发者更好地理解和应用这一...

    ThinkPHP(RBAC)权限管理系统_第23讲_角色管理之配置权限

    在本节课程“ThinkPHP(RBAC)权限管理系统_第23讲_角色管理之配置权限”中,我们将深入探讨如何在基于ThinkPHP框架的系统中实现RBAC(Role-Based Access Control,基于角色的访问控制)权限管理。RBAC是一种广泛应用...

    jsp做的权限管理系统

    在权限管理系统中,用户、角色和权限之间的关系通常遵循以下模式: 1. **用户(User)**:代表实际的系统使用者。每个用户都有自己的账户信息,如用户名、密码等。 2. **角色(Role)**:是一组特定权限的集合,代表...

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

    本文通过对通用权限管理系统文档资料中关于设计扩展RBAC用户角色的部分内容的分析,详细介绍了基于角色的访问控制模型的基本原理及其在实际应用中的扩展设计思路。通过引入用户组、角色组等概念,并优化权限表的设计...

    C# 用户角色权限登录

    看了北风网某讲师的视频,然后有看了一些权限设计的博客,当然我的这个数据库设计还是很有缺陷的,包括程序的代码也很散漫,只是大概的实现了功能,内有数据库是需要自己还原下

    sap角色权限设置手册

    在物料管理中,角色设置可以控制用户的物料master data的创建、更改和查看权限。 本手册详细介绍了 SAP 角色权限设置的基本概念、步骤和应用场景,为您提供了一个完整的 SAP 角色权限设置指南。

    C# WinForm实现基于角色权限的菜单

    在C# WinForm应用开发中,构建一个基于角色权限的菜单是常见的需求,尤其是在企业级应用中,确保不同用户群体只能访问他们被授权的操作。这个项目利用Visual Studio 2008或更高版本来实现这样的功能,展示了如何将...

    Spring+SpringMVC用户角色管理系统.zip

    标题中的"Spring+SpringMVC用户角色管理系统"表明这是一个基于Spring和SpringMVC框架构建的系统,主要用于管理用户的角色和权限。这样的系统通常涉及到用户认证(Authentication)和授权(Authorization),是企业级...

Global site tag (gtag.js) - Google Analytics