权限管理设计

权限管理设计
权限管理设计

对EMS权限管理模块设计

1.权限设计概述

引言

随着Web服务的复杂度增加以及用户数量和种类的增多,安全问题在理论及工程上都是一个必须考虑的问题,而权限管理是安全问题中一个很重要的方面。因此本文针对权限做了一个分析。

权限可简单表述为这样的逻辑表达式:判断“Who对What(Which)进行How的操作”的逻辑表达式是否为真。

意义

用户管理及权限管理一直是应用系统中不可缺少的一个部分

系统用户很多,系统功能也很多

不同用户对系统功能的需求不同

出于安全等考虑,关键的、重要的系统功能需限制部分用户的使用

出于方便性考虑,系统功能需要根据不同的用户而定制

目标

直观,因为系统最终会由最终用户来维护,权限分配的直观和容易理解,显得比较重要,除了功能的必须,更主要的就是因为它足够直观。

简单,包括概念数量上的简单和意义上的简单还有功能上的简单。想用一个权限系统解决所有的权限问题是不现实的。设计中将变化的“定制”特点比较强的部分判断为业务逻辑,而将相同的“通用”特点比较强的部分判断为权限逻辑就是基于这样的思路。

扩展,采用可继承的方式解决了权限在扩展上的困难。引进Group概念在支持权限以组方式定义的同时有效避免了权限的重复定义。

2.基于角色的权限管理设计(Role-Based Access Control ,RBAC)

权限管理用例图

用例图描述

超级管理员:系统中默认的角色,它是系统中拥有最高权限的角色,它不仅能够管理其他的管理员和用户,而且还可以对系统中每个模块的任一功能进行操作、维护。

普通管理员:它是由超级管理员创建的,并授予权限,它能够管理系统中大部分的功能,它可以查看所有普通管理员、普通用户的信息,它只能对由它自己创建的用户进行编辑、删除操作,和管理拥有权限的模块。

普通用户:它是系统中最低权限的角色,它只能对自己拥有的权限进行操作,一般情况下,它的权限是对信息的浏览和对自己信息的录入,修改。

登陆系统:根据用户拥有的权限不同,用户所能操作的功能多少就不同,所以在登陆系统的时候就要对用户的权限进行判断。

用户管理:这里对本系统的登录用户进行维护。包括,新建、删除、编辑、注销等;系统初始化的时候,用户管理中默认只有一个拥有超级管理员角色的用户,因此在初始化登陆的时候,只能用这个用户登陆,其他的用户由这个用户创建并授予角色。

角色管理:角色是赋予系统用户的职权名称。包括,新建、删除、编辑、注销等;系统初始化的时候,角色管理中默认只拥有一个超级管理员的角色,其他角色由拥有这个角色的用户创建并授权。

其他模块:其他模块的每个功能都拥有一个唯一Id,根据用户登陆的权限,再确定这些功能是否对用户开放。

3.权限设计思路

基于角色的访问控制RBAC

RBAC 的主要思想是:权限(Permissions)是和角色(Roles)相联系的,而用户(Users)则被指定到相应的角色作为其成员。这样就使权限的管理大大简化了。

系统的权限控制主要是采用基于角色的访问控制,把权限绑定到角色上,当用户要操作权限时,就把角色赋给用户。而且在需要撤回权限时,只需把角色上的权限撤回就行了。思路

为了设计一套具有较强可扩展性的权限管理,需要建立用户、角色和权限等数据库表,并且建立之间的关系,具体实现如下

用户

用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名、密码等,权限是被分离出去了的。用户(User)要拥有对某种资源的权限,必须通过角色(Role)去关联。用户通常具有以下属性:

编号,在系统中唯一。

名称,在系统中唯一。

用户口令。

注释,描述用户或角色的信息。

角色

角色是使用权限的基本单位,拥有一定数量的权限,通过角色赋予用户权限,通常具有以下属性:

编号,在系统中唯一。

名称,在系统中唯一----(监控人员)

注释,描述角色信息. ---(在线监控人员)

权限

权限指用户根据角色获得对程序某些功能的操作,例如对文件的读、写、修改和删除功能,通常具有以下属性:

编号,在系统中唯一。

名称,在系统中唯一-----(添,删,改,查)

注释,描述权限信息.---允许增加监控对象

用户与角色的关系

一个用户(User)对应一个角色(Role),一个角色可以被多个用户使用,用户角色就是用来描述他们之间隶属关系的对象。用户(User)通过角色(Role)关联所拥有对某种资源的权限,例如

用户(User):

UserID UserName UserPwd

1 张三 xxxxxx

2 李四 xxxxxx

……

角色(Role):

RoleID(角色编号) RoleName(角色名称) RoleNote(角色注释)

01 系统管理员监控系统维护管理员

02 监控人员在线监控人员

03 调度人员调度工作人员

04 一般工作人员工作人员

……

用户角色(User_Role):

UserRoleID UserID RoleID UserRoleNote( 用户角色注释)

1 1 0

2 用户“张三”被分配到角色“监控人员”

2 2 02 用户“李四”被分配到角色“监控人员”

……

从该关系表可以看出,用户所拥有的特定资源可以通过用户角色来关联。

权限与角色的关系

一个角色(Role)可以拥有多个权限(Permission),同样一个权限可分配给多个角色。

例如:

角色(Role):

RoleUUID(角色UUID) RoleName(角色名称) RoleRemark(角色注释)

01 系统管理员监控系统维护管理员

02 监控人员在线监控人员

03 调度人员调度工作人员

04 一般工作人员工作人员

……

权限(Privilege):

PrivilegeUUID(权限UUID) PrivilegeName(权限名称) PrivilegeRemark(权限注释) 0001 增加监控允许增加监控对象

0002 修改监控允许修改监控对象

0003 删除监控允许删除监控对象

0004 察看监控信息允许察看监控对象

角色权限(Role_ Privilege):

RolePermissionID RoleUUID PrivilegeUUID Role_PrivilegeRemark(角色权限注释)

1 01 0001 角色“系统管理员”具有权限“增加监控”

2 01 0002 角色“系统管理员”具有权限“修改监控”

3 01 0003 角色“系统管理员”具有权限“删除监控”

4 01 0004 角色“系统管理员”具有权限“察看监控”

5 02 0001 角色“监控人员”具有权限“增加监控”

6 02 0004 角色“监控人员”具有权限“察看监控”

……

由以上例子中的角色权限关系可以看出,角色权限可以建立角色和权限之间的对应关系。

建立用户权限

用户权限系统的核心由以下三部分构成:创造权限、分配权限和使用权限。

第一步由Creator创造权限(Permission),Creator在设计和实现系统时会划分,指定系统模块具有哪些权限。

第二步由系统管理员(Administrator)创建用户和角色,并且指定用户角色(User-Role)和角色权限(Role-Permission)的关联关系。

第三步用户(User)登陆系统,对自己拥有的权限进行管理、使用。

4.权限的具体实现模式

模式一:用户->角色->权限(最通用的方法)

数据库结构

用户表:

角色表:

权限表:

角色权限表:

在控制层写if/else判断条件

用户登入系统后,就通过其角色加载所有可以访问的页面,保存到Session,一直到用户退出系统或者session过期。用户访问页面时,添加一个Dispatcher(tapestry5方式),在这个Dispatcher中解析出页面地址如/cs/deposit,和用户保存在Session里的可访问页面作比较,如果存在则继续,不存在则跳到登入页面。

模式二:Ralasafe第三方组件(图形界面的形式,简单易用)

安装、配置与使用手册:

Ralasafe,是采用Java语言开发的轻量级数据级权限管理中间件。解开权限与业务的耦合,采用全景式、图形化管理方式,无需大量Java和XML开发配置。

Ralasafe将权限分为两大类

查询权限:用户从系统获取数据,此时系统根据用户不同,返回该用户具有权限查询的数据

决策权限:用户向系统提交操作数据(如:修改、添加或者删除某订单),此时系统根据

用户和被操作数据,判断是否允许操作

权限层级分为两大类

功能级权限,又称操作权限,使用角色模型足够

数据级权限,支持数据行级、列级,又称内容权限,细粒度权限

Ralasafe专注于数据级权限,使用策略机制进行管理。Ralasafe也提供了功能级权限实现,该功能可选,并不耦合。

Ralasafe系统架构

安全引擎,该引擎解析授权策略,对所有访问进行过滤。从2个方向进行控制:

从系统获取数据,比如查询订单,查询客户资料

向系统提交数据,比如修改某订单,删除某客户资料

管理界面,通过管理界面IT管理员可以轻松管理、设计授权策略,并在线仿真测试。

Ralasafe是服务,而不是框架。对应用程序没有要求,也不需要修改业务数据库。Ralasafe的结构性数据与业务数据独立保存在数据库,非结构性数据保存在文件系统,方便移植。

模式三:注解和拦截器实现权限通用模型的设计

使用这种设计方案,可以很好地分离权限与系统本身的功能,让开发过程更加关注系统的核心功能,同时可以很容易做到开发时的任务划分,同时使项目代码的可读性大大提升。

权限模型的常量定义:

一个系统里最常见的需求莫过于权限、角色,我们需要两个类,一个表明都有什么权限(例

如:删除帖子权限、编辑帖子权限,等等);另一个类表明,各个角色都有什么权限。这样子相当于定义了一个权限和角色模型。

拦截器与注解:

拦截器(Invocation)在在流行的开源框架中很常见,依赖的技术就是Java的动态代理。许多流行的框架都提供实现拦截器的接口,可以很简单就实现一个拦截器,此文不表如何实现。注解(Annotations)是JAVA在后引入的特性,它引入的目的是为了替代一些简单的配置到java代码里,而不用原来的xml。

注解请求示例:

一般的框架,都会有一个controller类,以下用伪代码表示:

public class ThreadsController{

@PriCheckRequired({})

public String createThread(){

return "createThread";

}

}

如代码中所示,一个controller里的一个method对应一个URL请求(例中所示为创建帖子)。我们只需要在其方法上标注@PriCheckRequired({}),PriCheckRequired就是注解,其传递了一个信息,这也就是前文说的权限类中的创建帖子权限。

可以想像在拦截器里要做的事情:

拦截器一般都是实现一个框架提供的接口来实现,常用框架都支持。

1.根据规定好的request请求的参数,取到用户属于哪个角色。

2.根据controller中注解,取到当前要判断的权限。

3.对比用户角色是否有注解中的权限,如果有,放行,反之拦截。

具体的实现过程:

拦截器的代码实现与框架有关:rose框架如何实现拦截器请看

模式四:基于webwork和过滤器实现无代码侵入的原子级界面权限

修改webwork的基类UIBean来实现页面的权限控制:

1、首先将页面的权限定义保存到数据库或xml的配置文件中;

2、编写一个监听器LoadPagePermissionListener来从权限的描述文件中,加载权限信息到缓存;

3、编写页面权限过滤器,例如PagePermissionFilter,实现对页面请求的过滤;

4、当用户请求一个web表单时,首先通过.action去请求,此时.action被PagePermissionFilter过滤器拦截到,此过滤器中从用户所请求的web表单对应的XML权限描述文件或数据库中取得此web表单中所有HTML控件的权限集合,并将此集合传递给webwork的控制器,最后到webwork的HTML控件生成器的父类UIBean,由UIBean去render 我们请求的表单中的所有HTML控件,这render之前,我们通过改写这个UIBean,使其在render每个控件之前,先从我们的权限集合中取出这个控件的权限(可编辑、只读、可视、不可视)进行设定,然后根据设定的权限进行渲染,最后我们看到的就是一个经过权限过滤的界面了,并且这个表单对于用户完全是透明的,开发人员不用添加任何关于表单控件权限的代码!

5、由于webwork对于Select框、radio框、checkbox框等的只读显示状态并不能满足用户的需求,例如对于select框,用户要求只读状态时,不显示边框,只显示实际的字段值,见如下代码:

if ("readonly".equals){

if ("text") || ("radio") || ("checkbox") || ("textarea")){

template = "labelhidden";

}

if ("select")){

template = "hidden4select";

}

}

也就是说,在只读权限时,我们直接替掉webwork默认的freemarker模板,自己写一个freemarker模板

最新软件界面设计复习题

一、名词解释 1、人机界面:在人与机器的交互过程中,有一个界面充当信息传递的媒介,即人们所说的人机界面。 2、最大最小原则:即人承担的工作量应尽量少或最少,机器承担的工作量应最大,在最大限度利用机器的同时,充分发挥人的积极因素。 3、认知心理学:就是关于认识的心理学,研究人的认识心理过程,如注意、知觉、表象、记忆、思维和语言等,从心理学的观点研究人体交互的原理。 4、人机工程学:是运用生理学、心理学和医学等有关知识,研究人、机器、环境相互间的合理关系,以保证人民安全、健康、舒适地工作。 5、软件界面:也叫软件人机界面,是人与机器之间的信息界面,用户与机器的交互主要是通过软件界面完成。 6、人机交互(人机对话):是指人与计算机之间使用某种语言、以一定的交互方式,为了完成任务进行的一系列信息交换过程。 7、人机交互系统:是指实际完成人机交互的系统,可以认为它是由参与交互的各方所组成,如包括人和计算机双方的人机交互系统。 8、人机交互方式:是指人机之间交换信息的组织形式或语言方式,又称对话方式、交互技术等。 9、交互介质:是指用户和计算机完成人机交互的媒体。 二、填空题 1、美国人类工程学会(Human Factors and Ergonomics Society)曾定义可用性的五大属性为:效率、可学习性、可记忆性、容错性、满意程度。 2、目前常用的人机交互方式有:问答式对话;菜单技术;命令语言;填表技术;查询语言;图形方式及直接操纵;自然语言等。 3、交互介质一般分为:输入介质;输出介质。 4、在进行界面设计时,都要考虑这些人文因素。人文因素主要包括以下内容:人机匹配性;人的固有技能;人的固有弱点;用户的知识经验和受教育程度;用户对系统的期望和态度。 5、设计界面是以功能性界面为基础,以环境性界面为前提,以情感性界面为重心而构成的,它们之间形成有机和系统的联系。 6、删除文件的DOS命令语法为:DEL[/P][/F][/S][/Q][/A[[:]attributes]]names。 7、命令语言目标:准确、紧凑、易于读写、加快学习速度、简单、减少差错、易于长期记忆。 8、命令语言的形式有:简单命令表、命令加变量、命令加选项和变量、层次式命令结构。 9、图形用户界面设计的艺术原则:①对比原则;②协调原则;③平衡原则;④趣味性原则。 10、窗口可分为:①滚动式窗口;②开关式窗口;③分裂式窗口;④瓦片式窗口;⑤重叠式窗口;⑥弹出式窗口。 11、辅助窗口分为:有模式和无模式两种。无模式辅助窗口允许用户与辅助窗口或主窗口进行交互,就像在主窗口之间进行切换;有模式辅助窗口要求用户在该辅助窗口内完成交互,然后,必须关闭辅助窗口才能与其他窗口进行交互。 12、帮助信息可分为概念帮助信息和过程帮助信息。 13、人性化的设计是Web界面设计的核心。 14、网页设计要求主题鲜明、形式和内容相统一,强调整体为设计原则,并具有交互性与持续性、多维性、综合性、版式的不可控性以及艺术与技术结合的紧密性等特点。 15、Web网站设计的3C原则:Concise(简洁)、Consistent(一致性)、Contrast(对比度)。

一种通用权限管理方案的设计方案

一种通用权限管理方案的设计方案 分析了权限管理的概念和一些与权限管理容易混淆的概念。提出了一种目前可以应用到绝大多数与权限有关的系统设计中的通用权限管理方案。该方案以角色对用户进行分组,通过用户数据库、角色数据库、权限数据库、用户-权限数据库以及角色-权限数据库来实现权限的分层管理。该设计方案能够由管理员方便的对权限进行设置。通过对角色的权限设置可以达到快速设置权限。通过对用户的权限设置可以达到权限的精确控制。文章最后以某项目为基础对该权限设计方案进行了实现。通过测试,该方案能够很好的对用户权限进行控制,从而提高整个系统的安全性。 标签:权限系统角色数据库 1 权限管理的概念 权限管理是软件系统中最常见的功能之一。所谓权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统。尤其是在B/S机构的系统中,由于没有专门的客户端软件系统,所以权限管理就显的尤为重要。如果一个B/S系统的权限管理设计的不好,那么一个“非法用户”就可以轻而易举的获取整个系统的所有本能,包括超级管理员的功能。那么这样的系统还有谁敢使用。 很多人,常将“用户身份认证”、“密码加密”、“系统管理”等概念与权限管理概念混淆。用户身份认证,根本就不属于权限管理范畴。用户身份认证,是要解决这样的问题:用户告诉系统“我是谁”,系统就问用户凭什么证明你就是“谁”呢?对于采用用户名、密码验证的系统,那么就是出示密码。当用户名和密码匹配,则证明当前用户是谁;对于采用指纹等系统,则出示指纹;对于硬件Key 等刷卡系统,则需要刷卡。密码加密,是隶属用户身份认证领域,不属于权限管理范畴。 2 权限管理的设计 2.1 权限管理的对象在一般的系统设计中,权限管理的参于对象包括用户对象、角色(或分组)对象、功能模块对象。角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色。功能模块则对不同的系统来说各不相同,一般在系统设计中最终将其以图形界元素的形式表现出来(比如软件界面上的各个功能按钮)。 2.2 权限管理举例下面我们举例说明2.1中提到的用户、角色、功能三个对象在权限管理中具体应用。表1中列出了某文档管理项目中权限管理的一部分设计表。从中我们可以清晰的区别出这三个对象以及它们的各自作用。

系统权限管理设计方案(优选.)

OA系统权限管理设计方案 l 不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 l 可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。 l 权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。 l 满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。 针对OA系统的特点,权限说明: 权限 在系统中,权限通过模块+动作来产生,模块就是整个系统中的一个子模块,可能对应一个菜单,动作也就是整个模块中(在B/S系统中也就是一个页面的所有操作,比如“浏览、添加、修改、删除”等)。将模块与之组合可以产生此模块下的所有权限。 权限组 为了更方便的权限的管理,另将一个模块下的所有权限组合一起,组成一个“权限组”,也就是一个模块管理权限,包括所有基本权限操作。比如一个权限组(用户管理),包括用户的浏览、添加、删除、修改、审核等操作权限,一个权限组也是一个权限。

角色 权限的集合,角色与角色之间属于平级关系,可以将基本权限或权限组添加到一个角色中,用于方便权限的分配。 用户组 将某一类型的人、具有相同特征人组合一起的集合体。通过对组授予权限(角色),快速使一类人具有相同的权限,来简化对用户授予权限的繁琐性、耗时性。用户组的划分,可以按职位、项目或其它来实现。用户可以属于某一个组或多个组。 通过给某个人赋予权限,有4种方式(参考飞思办公系统) A. 通过职位 a) 在职位中,职位成员的权限继承当前所在职位的权限,对于下级职位拥有的权限不可继承。 b) 实例中:如前台这个职位,对于考勤查询有权限,则可以通过对前台这个职位设置考勤查询的浏览权,使他们有使用这个对象的权限,然后再设置个,考勤查询权(当然也可以不设置,默认能进此模块的就能查询),则所有前台人员都拥有考勤查询的权利。 B. 通过项目 a) 在项目中,项目成员的权限来自于所在项目的权限,他们同样不能继承下级项目的权限,而对于项目组长,他对项目有全权,对下级项目也一样。 b) 实例中:在项目中,项目成员可以对项目中上传文档,查看本项目的文档,可以通过对项目设置一个对于本项目的浏览权来实现进口,这样每个成员能访问这个项目了,再加上项目文档的上传权和查看文档权即可。

软件界面设计复习题

软件界面设计复习题

————————————————————————————————作者: ————————————————————————————————日期:

一、名词解释 1、人机界面:在人与机器的交互过程中,有一个界面充当信息传递的媒介,即人们所说的人机界面。 2、最大最小原则:即人承担的工作量应尽量少或最少,机器承担的工作量应最大,在最大限度利用机器的同时,充分发挥人的积极因素。 3、认知心理学:就是关于认识的心理学,研究人的认识心理过程,如注意、知觉、表象、记忆、思维和语言等,从心理学的观点研究人体交互的原理。 4、人机工程学:是运用生理学、心理学和医学等有关知识,研究人、机器、环境相互间的合理关系,以保证人民安全、健康、舒适地工作。 5、软件界面:也叫软件人机界面,是人与机器之间的信息界面,用户与机器的交互主要是通过软件界面完成。 6、人机交互(人机对话):是指人与计算机之间使用某种语言、以一定的交互方式,为了完成任务进行的一系列信息交换过程。 7、人机交互系统:是指实际完成人机交互的系统,可以认为它是由参与交互的各方所组成,如包括人和计算机双方的人机交互系统。 8、人机交互方式:是指人机之间交换信息的组织形式或语言方式,又称对话方式、交互技术等。 9、交互介质:是指用户和计算机完成人机交互的媒体。 二、填空题 1、美国人类工程学会(HumanFactors and Ergonomics Society)曾定义可用性的五大属性为:效率、可学习性、可记忆性、容错性、满意程度。 2、目前常用的人机交互方式有:问答式对话; 菜单技术;命令语言;填表技术;查询语言;图形方式及直接操纵;自然语言等。 3、交互介质一般分为:输入介质;输出介质。 4、在进行界面设计时,都要考虑这些人文因素。人文因素主要包括以下内容:人机匹配性;人的固有技能;人的固有弱点;用户的知识经验和受教育程度;用户对系统的期望和态度。5、设计界面是以功能性界面为基础,以环境性界面为前提,以情感性界面为重心而构成的,它们之间形成有机和系统的联系。 6、删除文件的DOS命令语法为:DEL[/P][/F][/S][/Q][/A[[:]attributes]]names。 7、命令语言目标:准确、紧凑、易于读写、加快学习速度、简单、减少差错、易于长期记忆。 8、命令语言的形式有:简单命令表、命令加变量、命令加选项和变量、层次式命令结构。 9、图形用户界面设计的艺术原则:①对比原则;②协调原则;③平衡原则;④趣味性原则。 10、窗口可分为:①滚动式窗口;②开关式窗口;③分裂式窗口;④瓦片式窗口;⑤重叠式窗口; ⑥弹出式窗口。 11、辅助窗口分为:有模式和无模式两种。无模式辅助窗口允许用户与辅助窗口或主窗口进行交互,就像在主窗口之间进行切换;有模式辅助窗口要求用户在该辅助窗口内完成交互,然后,必须关闭辅助窗口才能与其他窗口进行交互。 12、帮助信息可分为概念帮助信息和过程帮助信息。 13、人性化的设计是Web界面设计的核心。 14、网页设计要求主题鲜明、形式和内容相统一,强调整体为设计原则,并具有交互性与持续性、多维性、综合性、版式的不可控性以及艺术与技术结合的紧密性等特点。 15、Web网站设计的3C原则:Concise(简洁)、Consistent(一致性)、Contrast(对

用户权限设计

用户角色权限设计 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底的“拒之门外”。下面就让我们一起了解一下如何设计可以满足大部分B/S系统中对用户功能权限控制的权限系统。 需求陈述 ?不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 ?可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。 ?权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。 ?满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。 关于设计 借助NoahWeb的动作编程理念,在设计阶段,系统设计人员无须考虑程序结构的设计,而是从程序流程以及数据库结构开始入手。为了实现需求,数据库的设计可谓及其重要,无论是“组”操作的概念,还是整套权限管理系统的重用性,都在于数据库的设计。 我们先来分析一下数据库结构: 首先,action表(以下简称为“权限表”),gorupmanager表(以下简称为“管理组表”),以及master表(以下简称为“人员表”),是三张实体表,它们依次记录着“权限”的信息,“管理组”的信息和“人员”的信息。如下图:

JAVA用户角色权限数据库设计

实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底的“拒之门外”。下面就让我们一起了解一下如何设计可以满足大部分B/S系统中对用户功能权限控制的权限系统。 需求陈述 ?不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 ?可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。 ?权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。 就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。 ?满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。 关于设计 借助NoahWeb的动作编程理念,在设计阶段,系统设计人员无须考虑程序结构的设计,而是从程序流程以及数据库结构开始入手。为了实现需求,数据库的设计可谓及其重要,无论是“组”操作的概念,还是整套权限管理系统的重用性,都在于数据库的设计。 我们先来分析一下数据库结构: 首先,action表(以下简称为“权限表”),gorupmanager表(以下简称为“管理组表”),以及master表(以下简称为“人员表”),是三张实体表,它们依次记录着“权限”的信息,“管理组”的信息和“人员”的信息。如下图:

系统权限管理方案

权限 在系统中,权限通过模块+动作来产生。(在系统中也就是一个页面的所有操作,比如(浏览、添加、修改、删除等)。将模块与之组合可以产生此模块下的所有权限。 权限组 为了更方便的权限的管理,另将一个模块下的所有权限组合一起,组成一个权限组,也就是一个模块管理权限,包括所有基本权限操作。比如一个权限组(用户管理),包括用户的浏览、添加、删除、修改、审核等操作权限,一个权限组也是一个权限。 角色 权限的集合,角色与角色之间属于平级关系,可以将基本权限或权限组添加到一个角色中,用于方便权限的分配。 用户组将某一类型的人、具有相同特征人组合一起的集合体。通过对组授予权限(角色),快速使一类人具有相同的权限,来简化对用户授予权限的繁琐性、耗时性。用户组的划分,可以按职位、项目或其它来实现。用户可以属于某一个组或多个组。 一、通过给某个人赋予权限,有四种方式: (一):通过职位 在职位中,职位成员的权限继承当前所在职位的权限,对于下级职位拥有的权限不可继承。 例如前台这个职位,对于考勤查询有权限,则可以通过对前台这个职位设置考勤 查询的浏览权,使他们有使用这个对象的权限,然后再设置个考勤查询权(当然也可以不设置,默认能进此模块的就能查询),则所有前台人员都拥有考勤查询的权利。 (二):通过项目 在项目中,项目成员的权限来自于所在项目的权限,他们同样不能继承下级项目的权限,而对于项目组长,他对项目有全权,对下级项目也一样。 例如在项目中,项目成员可以对项目中上传文档,查看本项目的文档,可以通过对项目设置一个对于本项目的浏览权来实现进口,这样每个成员能访问这个项目了,再加上项目文档的上传权限和查看文档权限即可。 对于组长,因为可以赋予组长一个组长权(组长权是个特殊的权限,它包含其他各种权限的一个权限包),所有组长对于本项目有全权,则项目组长可以对于项目文档查看,审批,删除,恢复等,这些权限对于本项目的下级项目依然有效。 (三):通过角色 角色中的成员继承角色的权限,角色与角色没有上下级关系,他们是平行的。通过角色赋予权限,是指没办法按职位或项目的分类来赋予权限的另一种方式,如:系统管理员,资料备份员 例如对于系统中,全体人员应该默认都有的模块,如我的邮件,我的文档,我的日志,我的考勤等等,这些模块系统成员都应该有的,我们建立一个角色为系统默认角色, 把所有默认访问的模块的浏览权限加入到里面去,则系统成员都能访问这些模块。 (四):直接指定 直接指定是通过对某个人具体指定一项权限,使其有使用这个权限的能力。直接指定是角色指定的一个简化版,为了是在建立像某个项目的组长这种角色时,省略创建角色这一个步骤,使角色不至于过多。 例如指定某个项目的组长,把组长权限指定给某个人。 二针对职位、项目组: 如果用添加新员工,员工调换职位、项目组,满足了员工会自动继承所在职位、项目组的权限,不需要重新分配权限的功能。

最经典用户权限管理模块设计

实现业务系统中的用户权限管理--设计篇 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底的“拒之门外”。下面就让我们一起了解一下如何设计可以满足大部分B/S系统中对用户功能权限控制的权限系统。 需求陈述 ?不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 ?可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便 的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致 的人员编入同一组,然后对该组进行权限分配。 ?权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套 管理系统,就要针对权限管理部分进行重新开发。 ?满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统 之间,功能权限是可以重用的,而资源权限则不能。 关于设计 借助NoahWeb的动作编程理念,在设计阶段,系统设计人员无须考虑程序结构的设计,而是从程序流程以及数据库结构开始入手。为了实现需求,数据库的设计可谓及其重要,无论是“组”操作的概念,还是整套权限管理系统的重用性,都在于数据库的设计。 我们先来分析一下数据库结构: 首先,action表(以下简称为“权限表”),gorupmanager表(以下简称为“管理组表”),以及master表(以下简称为“人员表”),是三张实体表,它们依次记录着“权限”的信息,“管理组”的信息和“人员”的信息。如下图:

用户界面设计与答案

1.用户满意度=功能+___人机界面_____+响应时间+可靠性+易安装性+____信息____+可维护性+其他因素 2. ____人机交互(人机对话)____是指人与计算机之间使用某种语言、以一定的交互方式,为了完成任务进行的一系列信息交换过程。 3.软件界面设计分为____功能性设计界面____、____情感性设计界面____、____环境性设计界面____。 4.进行系统分析和设计的第一步是___用户分析_____。 5.使用较早,也是使用最广泛的人机交互方式是____交互方式____。 6.软件界面开发流程包括____系统分析____、____系统设计____、____系统实施____三个阶段 7.设计阶段包括界面的____概念设计____、____详细设计____、____原型建立____与界面实现以及综合测试与评估等8.VB 是以结构化___Basic_____语言为基础、以____事件驱动作____为运行机制的可视化程序设计语言。 9.菜单使用形式主要有____菜单操作____和____Tba控件操作____两种。 10.随着计算机图形技术的发展,以直接操纵、桌面隐喻以及所见即所得为特征的____图形用户界面____技术广泛被计算机系统采用。 11.在用VB 开发应用程序时,一般要布置窗体、设置控件的属性、___编写代码___。 12. 假定在窗体上有一个通用对话框,其名称为CommonDialog1,为建立一个保存文件对话框,则需要把Action 属性设置为__value__。 13. 计时器事件之间的间隔通过__interval__属性设置。 14. 语句“Print “5+65=”;5+65”的输出结果为__5+65=70__。 15. 设有下列循环体,要进行4次循环操作,请填空。 x = 1 Do x = x * 2 Print x Loop Until__x<=32__ 16. 下列程序段的执行结果为__2 3 5__。 x = 1 y = 1 For I = 1 To 3 F= x + y x = y y = F Print F; Next I 17. 以下为3个列表框联动的程序,试补充完整。 Private Sub Dir1_Change() File1.Path=Dir1.Path End Sub Private Sub Drive1_Change() Drivel.Path=File1.Path;Dir1.Path=Drivel.Path__[7]__ End Sub 18. 在下列事件过程中则响应该过程的对象名是cmdl,事件过程名是__窗口标题事件__。 Private Sub cmd1_Click() Form1.Caption=“VisualBasic Example” End Sub 19. 当将文本框的SelStar 属性设置为0时,表示选择第开始位置在第一个字符之前,设置为1时表示__[9]__。 20. 以下程序代码实现单击命令按钮Command1 时形成并输出一个主对角线上元素值为“-”,其他元素值为“+”第6*6 阶方阵。 Privas Sub Command1_Click() DimA(6,6) For I = 1 To 6 For J = 1 To 6 If I = J Then Print “-” Else __[10]__ End If Print A (I,J); Next J Print Next I End Sub 21. 字母B的KeyAscii 码值为65,其KeyCode码值___[11]__。 22. Visual Basic 中的控件分为3类:__[12]_、ActioveX 控件和可插入对象。

用户管理模块设计

用户管理模块设计 用户管理模块提供对用户信息的管理,包括用户注册、用户登录、用户权限管理、用户信息修改以及用户等级修改。 1、用户注册 根据用户表,设计相应的注册页面,注册页面包括用户名、密码、邮箱、部门、电话等信息,当用户进行注册时,填写这些信息,用户名是不能与已注册的用户名相同,填写完成后,提交注册请求,后台相应的Action会响应该动作,首先获取到页面发来的参数,然后将这些参数通过Session 对象写入到数据库中,最后向用户提示注册成功与否。 2、用户登录 用户注册之后,就可以通过账户和密码登陆至平台。当用户提交登陆请求,后台相应的Action 会响应该动作,首先获取到页面发来的用户名和密码,然后通过Query对象查询该用户是否存在且密码正确,最后将根据结果给用户发送跳转页面,如果用户存在且密码正确,则可进入平台主页面,否则,提示登陆错误信息。 3、用户权限管理 用户权限管理将用户分为普通用户和管理员,他们具有不同的权限,他们各自的权限如表1所示。此平台首次使用时,会内置一个超级管理员,有修改用户等级的权限。 表1 不同用户权限授权

定义一个权限拦截器,它的功能是用来检验用户类型,对每一个需要管理权限的操作均进行拦截,同时检验用户类型,判断该用户类型是否可执行该操作,即可达到权限管理的作用。如果某操作在当前用户等级对应的操作范围内,则可正常访问,否则跳转到提示页面,提示用户权限不足。 4、用户信息修改 用户管理模块提供用户修改自己信息的功能。当进入信息修改界面,首先会获取Session中当前用户信息,供用户在当前信息基础上进行信息修改。当用户填写完修改信息,并发送修改请求后,后台将响应用户的请求,首先得到所有用户修改参数,然后将修改的信息设置到该对象中,最后更新数据库,将更新结果发送给用户。 青山埋白骨,绿水吊忠魂。

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

OA系统权限管理设计方案7 OA系统权限管理设计方案 数据库2010-02-2310:09:25阅读13评论0字号:大中小 OA系统权限管理设计方案 l不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 l可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。 l权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。 l满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。 针对OA系统的特点,权限说明: 权限

在系统中,权限通过模块+动作来产生,模块就是整个系统中的一个子模块,可能对应一个菜单,动作也就是整个模块中(在B/S系统中也就是一个页面的所有操作,比如“浏览、添加、修改、删除”等)。将模块与之组合可以产生此模块下的所有权限。 权限组 为了更方便的权限的管理,另将一个模块下的所有权限组合一起,组成一个“权限组”,也就是一个模块管理权限,包括所有基本权限操作。比如一个权限组(用户管理),包括用户的浏览、添加、删除、修改、审核等操作权限,一个权限组也是一个权限。 角色 权限的集合,角色与角色之间属于平级关系,可以将基本权限或权限组添加到一个角色中,用于方便权限的分配。 用户组 将某一类型的人、具有相同特征人组合一起的集合体。通过对组授予权限(角色),快速使一类人具有相同的权限,来简化对用户授予权限的繁琐性、耗时性。用户组的划分,可以按职位、项目或其它来实现。用户可以属于某一个组或多个组。 通过给某个人赋予权限,有4种方式(参考飞思办公系统) A.通过职位 a)在职位中,职位成员的权限继承当前所在职位的权限,对

权限管理设计说明

对EMS权限管理模块设计 1.权限设计概述 1.1引言 随着Web 服务的复杂度增加以及用户数量和种类的增多,安全问题在理论及工程上都 是一个必须考虑的问题,而权限管理是安全问题中一个很重要的方面。因此本文针对权限做 了一个分析。 权限可简单表述为这样的逻辑表达式:判断“Who对What(Which)进行How的操作”的 逻辑表达式是否为真。 1.2意义 ?用户管理及权限管理一直是应用系统中不可缺少的一个部分 ?系统用户很多,系统功能也很多 ?不同用户对系统功能的需求不同 ?出于安全等考虑,关键的、重要的系统功能需限制部分用户的使用 ?出于方便性考虑,系统功能需要根据不同的用户而定制 1.3目标 直观,因为系统最终会由最终用户来维护,权限分配的直观和容易理解,显得比较重要, 除了功能的必须,更主要的就是因为它足够直观。 简单,包括概念数量上的简单和意义上的简单还有功能上的简单。想用一个权限系统解 决所有的权限问题是不现实的。设计中将变化的“定制”特点比较强的部分判断为业务逻辑, 而将相同的“通用”特点比较强的部分判断为权限逻辑就是基于这样的思路。 扩展,采用可继承的方式解决了权限在扩展上的困难。引进Group概念在支持权限以组 方式定义的同时有效避免了权限的重复定义。 2.基于角色的权限管理设计(Role-Based Access Control,RBAC)2.1权限管理用例图

2.2用例图描述 超级管理员:系统中默认的角色,它是系统中拥有最高权限的角色,它不仅能够管理其他的管理员和用户,而且还可以对系统中每个模块的任一功能进行操作、维护。 普通管理员:它是由超级管理员创建的,并授予权限,它能够管理系统部分的功能,它可以查看所有普通管理员、普通用户的信息,它只能对由它自己创建的用户进行编辑、删除操作,和管理拥有权限的模块。 普通用户:它是系统中最低权限的角色,它只能对自己拥有的权限进行操作,一般情况下,它的权限是对信息的浏览和对自己信息的录入,修改。 登陆系统:根据用户拥有的权限不同,用户所能操作的功能多少就不同,所以在登陆系统的时候就要对用户的权限进行判断。

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

一个用户权限管理模块的设计思路: 1. 权限资源(功能资源) 系统的所有权限信息。权限具有上下级关系,是一个树状的结构。如下: 系统管理 单位管理 查看单位 添加单位 修改单位 删除单位 部门管理 查看部门 添加部门 修改单位 删除单位 对于每个权限,又存在两种情况:1可访问;2可授权,部分表中采用拥有类型做判断(0可访问,1即可访问也可授权) 2. 用户 系统的具体操作者,用户可以自己拥有权限信息,可以归属于0~n个角色,可属于0~n 个组。他的权限集是自身具有的权限+所属的各角色具有的权限+所属的各组具有的权限的合集。它与权限、角色、组之间的关系都是n对n的关系。 3. 角色 为了对拥有相似权限的用户进行分类管理,因此定义角色,例如:超级管理员,一般管理员、一般用户等角色。在这里同时也让角色具有上下级关系,形成树状视图,父级角色的权限是自身及它的所有子角色的权限的综合。 4. 组 为了更好地管理用户,对用户进行分组归类,简称为用户分组。组也具有上下级关系,可以形成树状视图。在实际应用中,我们知道,组也可以具有自己的角色信息、权限信息。 就好比是javaeye中的圈子,一个圈子可以拥有多个会员,同时一个会员也可以加入多个圈子,对于不同的圈子又有不同的权限信息。(组的解释:例如一个公司中,不同的部门即可划分不同的组来进行权限的分配) 针对以上描述,结构关系如下: 整个模块分为组权限管理、角色权限管理、用户权限管理。 其中组权限管理:组权限 = 所属角色的权限合集 + 组自身的权限。

角色权限管理:角色权限 = 角色自身权限。 用户权限管理:用户权限 = 所属角色权限合集 + 所属组权限合集 + 用户自身权限。 注意:因为组和角色都具有上下级关系,所以下级的组或角色的权限只能在自己的直属上级的权限中选择,下级的组或者角色的总的权限都不能大于直属上级的总权限。 欢迎大家拍砖,给点建议。

用户权限设计(二)——用户认证管理设计方案

用户认证管理设计方案 1 设计思路 为了设计一套具有较强可扩展性的用户认证管理,需要建立用户、角色和权限等数据库表,并且建立之间的关系,具体实现如下。 1.1 用户 用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名、密码等,权限是被分离出去了的。用户(User)要拥有对某种资源的权限,必须通过角色(Role)去关联。 用户通常具有以下属性: ü编号,在系统中唯一。 ü名称,在系统中唯一。 ü用户口令。 ü注释,描述用户或角色的信息。 1.2 角色 角色是使用权限的基本单位,拥有一定数量的权限,通过角色赋予用户权限,通常具有以下属性: ü编号,在系统中唯一。 ü名称,在系统中唯一。 ü注释,描述角色信息 1.3 权限 权限指用户根据角色获得对程序某些功能的操作,例如对文件的读、写、修改和删除功能,通常具有以下属性: ü编号,在系统中唯一。 ü名称,在系统中唯一。 ü注释,描述权限信息 1.4 用户与角色的关系 一个用户(User)可以隶属于多个角色(Role),一个角色组也可拥有多个用户,用户角色就是用来描述他们之间隶属关系的对象。用户(User)通过角色(Role)关联所拥有对某种资源的权限,例如 l用户(User): UserID UserName UserPwd 1 张三xxxxxx 2 李四xxxxxx …… l 角色(Role): RoleID RoleName RoleNote 01 系统管理员监控系统维护管理员 02 监控人员在线监控人员 03 调度人员调度工作人员 04 一般工作人员工作人员 …… l 用户角色(User_Role): UserRoleID UserID RoleID UserRoleNote 1 1 01 用户“张三”被分配到角色“系统管理员”

用户权限管理系统需求分析

软件需求分析报告目录 1.引言 1.1 项目简介 本文档对通用用户权限管理系统的总体设计、接口设计、界面总体设计、数据结构设计、系统出错处理设计以及系统安全数据进行了说明。 1.2 编写说明 1.3参考资料 《通用权限管理系统需求规格说明书》 《通用权限管理系统数据库设计说明书》

2.目标 2.1概述 权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新对系统的权限进行设计,以满足不同系统用户的需求,将会浪费我们不少宝贵时间,所以花时间来设计一个相对通用的权限系统是很有意义的。 本系统的设计目标是对应用系统的所有资源进行权限控制,比如应用系统的功能菜单、各个界面的按钮控件等进行权限的操控。2.2系统目标 系统的目标包括如下三点: (1)对应用系统的所有资源进行权限控制,比如应用系统的功能菜单、各个界面的按钮控件等进行权限的操控; (2)完善用户、角色、组织、资源、操作的管理功能,其中的组织管理模块只提供组织视图,不参与权限的控制管理。 (3)开发人员开发新的系统功能,通过资源和角色模块进行操作管理。使用系统管理员身份登陆,直接将访问路径作对角色资源授权给操作,实现资源访问控制管理。 2.2.1 总目标 本系统提供一个调用简单、可复用性高、满足一般需求的权限管理模块,并为需要对权限管理的系统节省开发本。 2.2.2 性能目标 1、要求下载和安装速度快,响应时间快。

2、要求系统可适用于不同操作平台。 3、要求系统的可维护性和实用性强。 4、要求系统有一定的检错能力。 5、要求系统支持多用户同时操作,但管理者与用户不能同时操作。 2.2.3 功能目标 本系统的设计目标是对应用系统的所有资源进行权限控制,比如应用系统的功能菜单、各个界面的按钮控件等进行权限的操控。 2.3 目标说明 3.结构 3.1系统需求结构 系统采用B/S架构模式,基于 BNFW开发,服务封装了对后台数据操纵的细节,并提供安全调用接口. WEB 应用程序通过接口访问系统服务,执行用户操作并返回结果。系统采用SQL SERVER数据库和tomcat web应用服务器开发,部署在 Linux和windows服务器下运行。 3.2 需求结构的说明 用户权限管理系统概貌如图所示:

6.4 输入与输出设计

☆1、输出设计的内容 (1)确定输出内容 用户是输出信息的主要使用者。因此,进行输出内容的设计,首先要确定用户在使用信息方面的要求,根据用户要求,设计输出信息内容。 图7-10 输出设备和介质一览表 (2)选择输出设备与介质 ☆(3)输出设计的方法 设计人员要能选择合适的输出方法,并以清楚的方式表达出来。输出方法主要有以下几种: ①表格信息,以表格的形式提供,一般用来表示详细的信息。 ②图形信息,主要有直方图、圆饼图、曲线图等,可以充分利用综合信息,表达方式直观。 图7-11 昌吉市天气质量周报曲线图

③图标,用来表示数据间的比例关系和比较情况,易于辨认。 图7-12 各种图标 管理信息系统的输入所完成的功能是将机外或外地机的信息转换成机内信息,它是对信息进行处理的出发点,是信息处理的“源”,因此保证这个“源”的正确性是输入设计中的一项重要内容。 ☆1、输入设计的内容 (1)确定输入数据内容 输入数据内容包括确定输入数据项名称、数据内容、精度、数值范围。 (2)确定输入数据的输入方式 数据的输入方式与数据发生地点、发生时间、处理的紧急程度有关。 (3)确定输入数据的记录格式 记录格式是人机之间的衔接形式,设计得好,容易控制工作流程,减少数据冗余,提高输入的准确度,并且容易进行数据校验。 (4)输入数据的正确性校验 输入设计最重要的问题是保证输入数据的正确性,而对数据进行必要的校验是保证输入正确的重要环节。 (5)确定输入设备 常用的输入设备有键盘、鼠标、读卡机、磁性墨水字符识别机、光电阅读器、条

形码识别机、声音识别仪、扫描仪等。 图7-13(a)光电阅读器图7-13(b)终端输入 2、输入界面设计的原则 (1)可靠性:保证输入界面提供的环境可靠性高、容错性好。 (2)简单性:在数据输入过程中应尽量减少操作人员的击键次数,采用启发式、交互式的操作过程,以提高操作速度。 (3)易学习与易使用性:由于用户的个人背景不同,对学习和使用的性能要求也不尽相同,应该按照不同使用者的要求进行设计。 (4)立即反馈性:一个良好的、效率高的输入界面应对用户所有输入都立即作出反馈。 ☆3、输入数据的校验方法 (1)输入数据错误的种类 ①数据内容错误。由于原始数据填写错误或穿孔出错等原因引起的输入数据错误。 ②数据多余或不足。如数据的散失、遗漏或重复等。 ③数据的延误。由于输入数据延误而导致的数据处理推迟。 (2)数据出错的校验方法 ?重复校验。对于同一组数据,由不同人员重复输入;然后由计算机比较检查一 致性,叫做重复校验。重复校验可以将出错率降到0.l%以下。 ?视觉校验。输入的同时由计算机打印或显示输入数据,然后与原始单据进行比

多系统权限设计

多系统权限设计 1.多系统基于角色的权限设计 这种方案是最常见也是比较简单的方案,不过通常有这种设计已经够了,这种方案对于每一个操作不做控制,只是在程序中根据角色对是否具有操作的权限进行控制;这里我们就不做详述.此处采用角色关联模块的方式。 2.多系统基于操作的权限设计 这种模式下每一个操作都在数据库中有记录,用户是否拥有该操作的权限也在数据库中有记录,结构如下:

但是如果直接使用上面的设计,会导致数据库中的_SysUserFuncOperate这张表数据量非常大,所以我们需要进一步设计提高效率,请看方案3 3.多系统基于角色和操作的权限设计

如上图所示,我们通过采用角色分配操作的方式,这样子就可以减少操作权限表(_SysRole FuncOperate)中的记录,并且使设计更灵活一点。 但是这种方案在用户需求的考验之下也可能显得不够灵活够用,例如当用户要求临时给某位普通员工某操作权限时,我们就需要新增加一种新的用户角色,但是这种用户角色是不必要的,因为它只是一种临时的角色,如果添加一种角色还需要在收回此普通员工权限时删除此角色,我们需要设计一种更合适的结构来满足用户对权限设置的要求。 4.2,3组合的权限设计,其结构如下: 我们可以看到在上图中添加了_SysUserFunc和_SysUserFuncOperate表,使用此表来添加特殊用户的权限。这样在应用程序中我们就需要通过_SysUserFuncOperate和_SysRoleFuncOperat e两张表中的记录判断权限。 当然,有可能用户还会给出这样的需求:对于某一种Operate所操作的对象某一些记录会有权限,而对于其他的记录没有权限,比如说一个内容管理系统,对于某一些频道某个用户有

OA权限管理设计的实现

OA权限管理设计的实现 任何系统都离不开权限的管理,有一个好的权限管理模块,不仅使我们的系统操作自如,管理方便,也为系统添加亮点。 不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。 可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。 权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。 满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。 针对OA系统的特点,权限说明: 权限 在系统中,权限通过模块+动作来产生,模块就是整个系统中的一个子模块,可能对应一个菜单,动作也就是整个模块中(在B/S系统中也就是一个页面的所有操作,比如“浏览、添加、修改、删除”等)。将模块与之组合可以产生此模块下的所有权限。 权限组 为了更方便的权限的管理,另将一个模块下的所有权限组合一起,组成一个“权限组”,也就是一个模块管理权限,包括所有基本权限操作。比如一个权限组(用户管理),包括用户的浏览、添加、删除、修改、审核等操作权限,一个权限组也是一个权限。 角色 权限的集合,角色与角色之间属于平级关系,可以将基本权限或权限组添加到一个角色中,用于方便权限的分配。 用户组 将某一类型的人、具有相同特征人组合一起的集合体。通过对组授予权限(角色),快速使一类人具有相同的权限,来简化对用户授予权限的繁琐性、耗时性。用户组的划分,可以按职位、项目或其它来实现。用户可以属于某一个组或多个组。 通过给某个人赋予权限,有4种方式(参考飞思办公系统) A.通过职位 a)在职位中,职位成员的权限继承当前所在职位的权限,对于下级职位拥有的权限 不可继承。

相关文档
最新文档