权限系统设计模型及实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内容发布系统权限设计说明书

项目名称:内容发布系统发布系统v1.0

分类:设计说明书部门:开发部

作者:日期:错误!未指定开关参数。参考号:V1.0 页数:

附注:

文档控制页

权限系统设计模型及实现

设计一个比较抽象和通用的权限系统是一件比较复杂的工作,根据实际目前项目需要,我们设计了如下一个简易基于角色的权限模块。

先引出权限系统中的概念

1概念

用户:使用权限的登录用户或者系统.一个用户有多个角色,但同时只能以一个角色登录系统。

角色:拥有相关权限的一个集合。一个角色可以有多个权限,一个角色有多个用户。权限:权限是一个资源+操作的组合。即权限是指对什么东西有什么动作。如用户管理是一个资源,而用户的增加、修改是指具体的操作,而整个“用户”+“增加”就构成了用户增加的权限。单独的资源或操作在权限系统中没有意义。

操作:对资源的动作。如对数据的增加、删除、修改;对模块的登录等。

资源:系统中要权限控制的东西。也就是什么东西要进行权限的控制。资源有不同的类型,一般系统中会遇到的能用类型为功能权限和数据权限。目前我们系统中用到的资源类型有“模块”和“栏目”,用英文和表示。

2模型的描述

类图说明:

: 的实现

: 的实现

: 表示一个权限点。其实表示操作的资源编号,表示资源的类型,目前实现为表示是一个模块,表示资源是一个栏目;是操作的编号,对于模块和栏目不同类型的资源操作可能是不一样的。详见附件里的操作编码规则。

:表示系统中的某个功能模块。

: 表示用户和角色的关联关系。一个,有多个

: 表示角色和权限的关联关系。一个有多个

3具体实现

具体的实现包括了3个部分:权限的创建、权限的授权、权限的使用。下面各个部分描述:

3.1 权限创建

权限的创建过程就是应用系统开发人员定义好系统中要权限控制的资源以及定义对对资源具体化为哪些操作的过程。在我们的内容发布里面作如下定义:

3.1.1模块资源

把系统中要用到的模块进行资源的统一编号,以模块的编号作为权限控制里资源编号,目前的编号规则为如下:

编号说明:

编号由”上级编号”+”两位本级编号”组成

上级编号由”功能码”+”两位本级编号”组成

功能码编码为:

新闻采集P

内容发布C

广告发布A

系统管理S

应用管理Y

3.1.2栏目资源

栏目资源的编号采用多级栏目的,是数字

3.1.3模块操作

模块的操作编码规则遵循统一的操作编码规则,即:

“模块名称”+ “_”+”按钮名称”

其中按钮名称只在保证可以唯一标识就可以了,如用数字或者英文。目前我们定义文章发布里的按钮名称为:

其它模块的按钮操作也可以类似编码,但因为目前核心是文章发布。所以暂时这里不一一列出。以后扩展的时候一起实现。

3.1.4栏目操作

栏目的操作按钮根据目前的需求定义如下操作。

3.2 权限授权

权限授权就是指对于某个角色赋予相关的栏目权限和模块权限。其中栏目权限为树状显示如下图:

模块的权限如下图:

3.3 权限使用

对于前台使用权限的来说通过两个接口来调用。主要是和来实现。其类图如下:

权限的使用有如下逻辑过程:

3.4 权限分级管理实现

3.4.1模型分析

对于比较大型的网站,集中式的管理无法满足用户的内容分级别、管理分层次的需求。因此要设计分级的权限管理模型。

从实际使用用例来看,有如下的功能(操作)模型:

栏目授权

栏目的授权完成栏目资源的权限分派,栏目资源的权限点分为如下表:

3.4.2业务流程图

4附件

操作编码规则:

“功能编号”+”_”+”按钮编号”

如文章发布里的新增按钮编码为:C03

相关文档
最新文档