您当前的位置:首页 > 淘宝百科

权限管理系统设计(后台管理系统的权限设计该怎么做)

时间:2023-01-31 02:30:42

本文目录

  • 后台管理系统的权限设计该怎么做
  • 如何让系统的权限管理系统更安全
  • 企业权限管理系统的设计
  • java 权限管理系统中数据权限的设计与使用
  • 软件设计后台操作用户权限管理的方案
  • 企业管理系统软件的用户权限怎么设计
  • 怎么设计用户权限管理系统数据库要用到哪几张表每张表有哪些字段

后台管理系统的权限设计该怎么做

由于每次开发新项目都需要一个权限管理系统,为了解决重复开发让成本增加的问题,特此开发一套狼奔权限管理系统。 狼奔权限管理系统是一个项目的基础,也是复用性最高的模块,新项目可以基于此模块开发。 系统登录 提供了登陆狼奔权限管理系统的功能。 用户必须指定用户名。如果用户没有录入登陆用户名,则提示用户“请填写 用户名” 用户必须指定验证码。如果用户没有录入登陆验证码,则提示用户“验证码 错误!” 如果用户录入的用户名称或者密码不存在,提示用户“用户名或者密码出 错。” 用户密码需要使用“*”加密显示。 用户密码区分大小写。 如果用户录入的用户名

如何让系统的权限管理系统更安全

基于RBAC模型的权限管理系统的设计和实现0 引言管理信息系统是一个复杂的人机交互系统,其中每个具体环节都可能受到安全威胁。构建强健的权限管理系统,保证管理信息系统的安全性是十分重要的。权限管理系统是管理信息系统中可代码重用性最高的模块之一。任何多用户的系统都不可避免的涉及到相同的权限需求,都需要解决实体鉴别、数据保密性、数据完整性、防抵赖和访问控制等安全服务(据ISO7498-2)。例如,访问控制服务要求系统根据操作者已经设定的操作权限,控制操作者可以访问哪些资源,以及确定对资源如何进行操作。目前,权限管理系统也是重复开发率最高的模块之一。在企业中,不同的应用系统都拥有一套独立的权限管理系统。每套权限管理系统只满足自身系统的权限管理需要,无论在数据存储、权限访问和权限控制机制等方面都可能不一样,这种不一致性存在如下弊端:a.系统管理员需要维护多套权限管理系统,重复劳动。b.用户管理、组织机构等数据重复维护,数据一致性、完整性得不到保证。c.由于权限管理系统的设计不同,概念解释不同,采用的技术有差异,权限管理系统之间的集成存在问题,实现单点登录难度十分大,也给企业构建企业门户带来困难。采用统一的安全管理设计思想,规范化设计和先进的技术架构体系,构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的权限管理系统,使得权限管理系统真正成为权限控制的核心,在维护系统安全方面发挥重要的作用,是十分必要的。本文介绍一种基于角色的访问控制RBAC(Role-Based policies Access Control)模型的权限管理系统的设计和实现,系统采用基于J2EE架构技术实现。并以讨论了应用系统如何进行权限的访问和控制。 1 采用J2EE架构设计采用J2EE企业平台架构构建权限管理系统。J2EE架构集成了先进的软件体系架构思想,具有采用多层分布式应用模型、基于组件并能重用组件、统一完全模型和灵活的事务处理控制等特点。系统逻辑上分为四层:客户层、Web层、业务层和资源层。a. 客户层主要负责人机交互。可以使系统管理员通过Web浏览器访问,也可以提供不同业务系统的API、Web Service调用。b. Web层封装了用来提供通过Web访问本系统的客户端的表示层逻辑的服务。c. 业务层提供业务服务,包括业务数据和业务逻辑,集中了系统业务处理。主要的业务管理模块包括组织机构管理、用户管理、资源管理、权限管理和访问控制几个部分。d. 资源层主要负责数据的存储、组织和管理等。资源层提供了两种实现方式:大型关系型数据库(如ORACLE)和LDAP(Light Directory Access Protocol,轻量级目录访问协议)目录服务器(如微软的活动目录)。2 RBAC模型访问控制是针对越权使用资源的防御措施。基本目标是为了限制访问主体(用户、进程、服务等)对访问客体(文件、系统等)的访问权限,从而使计算机系统在合法范围内使用;决定用户能做什么,也决定代表一定用户利益的程序能做什么。企业环境中的访问控制策略一般有三种:自主型访问控制方法、强制型访问控制方法和基于角色的访问控制方法(RBAC)。其中,自主式太弱,强制式太强,二者工作量大,不便于管理。基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。其显著的两大特征是:1.减小授权管理的复杂性,降低管理开销;2.灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。NIST(The National Institute of Standards and Technology,美国国家标准与技术研究院)标准RBAC模型由4个部件模型组成,这4个部件模型分别是基本模型RBAC0(Core RBAC)、角色分级模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和统一模型RBAC3(Combines RBAC)。 a. RBAC0定义了能构成一个RBAC控制系统的最小的元素集合。在RBAC之中,包含用户users(USERS)、角色roles(ROLES)、目标objects(OBS)、操作operations(OPS)、许可权permissions(PRMS)五个基本数据元素,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。会话sessions是用户与激活的角色集合之间的映射。RBAC0与传统访问控制的差别在于增加一层间接性带来了灵活性,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的扩展。b. RBAC1引入角色间的继承关系,角色间的继承关系可分为一般继承关系和受限继承关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继承关系则进一步要求角色继承关系是一个树结构。c. RBAC2模型中添加了责任分离关系。RBAC2的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。责任分离包括静态责任分离和动态责任分离。约束与用户-角色-权限关系一起决定了RBAC2模型中用户的访问许可。d. RBAC3包含了RBAC1和RBAC2,既提供了角色间的继承关系,又提供了责任分离关系。3核心对象模型设计根据RBAC模型的权限设计思想,建立权限管理系统的核心对象模型。对象模型中包含的基本元素主要有:用户(Users)、用户组(Group)、角色(Role)、目标(Objects)、访问模式(Access Mode)、操作(Operator)。主要的关系有:分配角色权限PA(Permission Assignment)、分配用户角色UA(Users Assignmen描述如下:a .控制对象:是系统所要保护的资源(Resource),可以被访问的对象。资源的定义需要注意以下两个问题:1.资源具有层次关系和包含关系。例如,网页是资源,网页上的按钮、文本框等对象也是资源,是网页节点的子节点,如可以访问按钮,则必须能够访问页面。2.这里提及的资源概念是指资源的类别(Resource Class),不是某个特定资源的实例(Resource Instance)。资源的类别和资源的实例的区分,以及资源的粒度的细分,有利于确定权限管理系统和应用系统之间的管理边界,权限管理系统需要对于资源的类别进行权限管理,而应用系统需要对特定资源的实例进行权限管理。两者的区分主要是基于以下两点考虑:一方面,资源实例的权限常具有资源的相关性。即根据资源实例和访问资源的主体之间的关联关系,才可能进行资源的实例权限判断。例如,在管理信息系统中,需要按照营业区域划分不同部门的客户,A区和B区都具有修改客户资料这一受控的资源,这里“客户档案资料”是属于资源的类别的范畴。如果规定A区只能修改A区管理的客户资料,就必须要区分出资料的归属,这里的资源是属于资源实例的范畴。客户档案(资源)本身应该有其使用者的信息(客户资料可能就含有营业区域这一属性),才能区分特定资源的实例操作,可以修改属于自己管辖的信息内容。另一方面,资源的实例权限常具有相当大的业务逻辑相关性。对不同的业务逻辑,常常意味着完全不同的权限判定原则和策略。b.权限:对受保护的资源操作的访问许可(Access Permission),是绑定在特定的资源实例上的。对应地,访问策略(Access Strategy)和资源类别相关,不同的资源类别可能采用不同的访问模式(Access Mode)。例如,页面具有能打开、不能打开的访问模式,按钮具有可用、不可用的访问模式,文本编辑框具有可编辑、不可编辑的访问模式。同一资源的访问策略可能存在排斥和包含关系。例如,某个数据集的可修改访问模式就包含了可查询访问模式。c.用户:是权限的拥有者或主体。用户和权限实现分离,通过授权管理进行绑定。d.用户组:一组用户的集合。在业务逻辑的判断中,可以实现基于个人身份或组的身份进行判断。系统弱化了用户组的概念,主要实现用户(个人的身份)的方式。e.角色:权限分配的单位与载体。角色通过继承关系支持分级的权限实现。例如,科长角色同时具有科长角色、科内不同业务人员角色。f.操作:完成资源的类别和访问策略之间的绑定。g.分配角色权限PA:实现操作和角色之间的关联关系映射。h.分配用户角色UA:实现用户和角色之间的关联关系映射。该对象模型最终将访问控制模型转化为访问矩阵形式。访问矩阵中的行对应于用户,列对应于操作,每个矩阵元素规定了相应的角色,对应于相应的目标被准予的访问许可、实施行为。按访问矩阵中的行看,是访问能力表CL(Access Capabilities)的内容;按访问矩阵中的列看,是访问控制表ACL(Access Control Lists)的内容。4 权限访问机制权限管理系统端:提供集中管理权限的服务,负责提供用户的鉴别、用户信息、组织结构信息,以及权限关系表的计算。系统根据用户,角色、操作、访问策略和控制对象之间的关联关系,同时考虑权限的正负向授予,计算出用户的最小权限。在业务逻辑层采用Session Bean实现此服务,也可以发布成Web Service。采用代理Proxy模式,集中控制来自应用系统的所要访问的权限计算服务,并返回权限关系表,即二元组{ObjectId,OperatorId}。应用系统端:可以通过访问能力表CL和访问控制表ACL两种可选的访问方式访问权限管理系统。以基于J2EE框架的应用系统为例,说明访问过程:a.首先采用基于表单的验证,利用Servlet方式集中处理登录请求。考虑到需要鉴别的实体是用户,采用基于ACL访问方式。用户登录时调用权限管理系统的用户鉴别服务,如果验证成功,调用权限计算服务,并返回权限关系表,以HashMap的方式存放到登录用户的全局Session中;如果没有全局的Session或者过期,则被导向到登录页面,重新获取权限。b.直接URL资源采用基于CL访问方式进行的访问控制。如果用户直接输入URL地址访问页面,有两种方法控制访问:1.通过权限标签读取CL进行控制;2.采取Filter模式,进行权限控制,如果没有权限,则重定向到登录页面。5 权限控制机制权限所要控制的资源类别是根据应用系统的需要而定义的,具有的语义和控制规则也是应用系统提供的,对于权限管理系统来说是透明的,权限将不同应用系统的资源和操作统一对待。应用系统调用权限管理系统所获得的权限关系表,也是需要应用系统来解释的。按此设计,权限管理系统的通用性较强,权限的控制机制则由应用系统负责处理。由于应用系统的权限控制与特定的技术环境有关,以基于J2EE架构的应用系统为例来说明,系统主要的展示组件是JSP页面,采用标记库和权限控制组件共同来实现。a. 权限标识:利用标签来标识不同级别资源,页面权限标签将标识页面对象。b. 权限注册:遍历JSP页面上的权限控制标签,读取JSP的控制权限。通过权限注册组件将JSP页面上的权限控制对象以及规则注册到权限管理信息系统中。c. 权限控制:应用系统用户登录系统时,从权限管理系统获得权限关系表之后,一方面,权限标签控制页面展示;另一方面,利用权限控制组件在业务逻辑中进行相应的权限控制,尤其是和业务逻辑紧密联系的控制对象实例的权限控制。6 权限存储机制权限管理系统采用了两种可选的存储机制:LDAP(Lightweight Directory Access Protocol)目录服务数据库和关系型数据库。存储用户信息、组织结构、角色、操作、访问模式等信息。其中,目录服务系统基于LDAP标准,具有广泛的数据整合和共享能力。元目录(Meta-Directory)功能允许快速、简洁的与企业现存基础结构进行集成,解决基于传统RDBMS等用户数据库与LDAP用户数据库的同步问题。7 结语本文论述了一种基于RBAC模型的权限管理系统的实现技术方案。该权限管理系统已成功应用于系统的设计和开发实践,与应用系统具有很好的集成。实践表明,采用基于RBAC模型的权限具有以下优势:权限分配直观、容易理解,便于使用;扩展性好,支持岗位、权限多变的需求;分级权限适合分层的组织结构形式;重用性强。

企业权限管理系统的设计

你可以这么理解,需求是要离开计算机的思路,才能分析的,呵呵用户组,是用户内部的行政和业务关系的划分,如人事部,会计组、出纳组、采购组。角色,是按在系统中,操作范围的划分,如采购发票,财务、公司领导、采购人员,都可以看,那么他们就是同一类角色。

java 权限管理系统中数据权限的设计与使用

感觉你这个太强悍了。一般都是给菜单授权,角色授予菜单,授予菜单权限的用户能操作相应的菜单。你这个是给角色授予查询表的权限,还有多少条记录的。查多少条记录,这个真心不知道怎么搞;授予查询表的权限的这个应该不难,每次查之前都先验证一下是否在授权范围之类。多表查询的只要一个不满足就不能查询。

软件设计后台操作用户权限管理的方案

 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底的“拒之门外”。下面就让我们一起了解一下如何设计可以满足大部分B/S系统中对用户功能权限控制的权限系统。需求陈述不同职责的人员,对于系统操作的权限应该是不同的。优秀的业务系统,这是最基本的功能。可以对“组”进行权限分配。对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对“组”进行操作的概念,将权限一致的人员编入同一组,然后对该组进行权限分配。权限管理系统应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。满足业务系统中的功能权限。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。关于设计  借助NoahWeb的动作编程理念,在设计阶段,系统设计人员无须考虑程序结构的设计,而是从程序流程以及数据库结构开始入手。为了实现需求,数据库的设计可谓及其重要,无论是“组”操作的概念,还是整套权限管理系统的重用性,都在于数据库的设计。我们先来分析一下数据库结构:  首先,action表(以下简称为“权限表”),gorupmanager表(以下简称为“管理组表”),以及master表(以下简称为“人员表”),是三张实体表,它们依次记录着“权限”的信息,“管理组”的信息和“人员”的信息。如下图:  这三个表之间的关系是多对多的,一个权限可能同时属于多个管理组,一个管理组中也可能同时包含多个权限。同样的道理,一个人员可能同时属于多个管理组,而一个管理组中也可能同时包含多个人员。如下图:  由于这三张表之间存在着多对多的关系,那么它们之间的交互,最好使用另外两张表来完成。而这两张表起着映射的作用,分别是“actiongroup”表(以下简称“权限映射表”)和“mastergroup”表(以下简称“人员映射表”),前者映射了权限表与管理组表之间的交互。后者映射了人员表与管理组表之间的交互。如下图:  另外,还需要一张表来控制系统运行时左侧菜单中的权限分栏,也就是“权限分栏表”,如下图:  根据上面的分析,我们进行数据库结构设计,如下图:  点击这里查看权限管理系统数据表字段设计  为了能够进行良好的分析,我们将数据库结构图拆分开来,三张实体表的作用已经很清晰,现在我们来看一下两张映射表的作用。一 权限映射表 如下图:  首先,我们来了解一下权限映射表与管理组表以及权限表之间的字段关联。  看图中的红圈,先看gorupid字段相关联,这种关联方式在实际数据库中的表现如下图:  如图中所示,管理组表中“超级管理员”的groupid为1,那么权限映射表中groupid为1的权限也就是“超级管理员”所拥有的权限。  使用groupid字段关联,是为了查到一个管理组能够执行的权限有哪些。但这些权限的详细信息却是action字段关联所查询到的。  action字段相关联在数据库中的表现如下图:  通过这种关联,才查询到权限映射表之中那些权限的详细信息。综合起来,我们就知道了一个管理组可以执行的权限有哪些,以及这些权限的详细信息是什么。  或许你会问,为什么不使用actionid字段相关联呢?因为:权限表中的id字段在经过多次的数据库操作之后可能会发生更改。权限映射表中仅仅记录着一个管理组可以执行的权限。一旦权限表中的id更改,那么权限映射表中的记录也就更改了。一个管理组可以执行的权限势必将出错,这是非常不希望的。  考虑到上面的情况,所以应该使用action字段相关联,因为:在权限表中,id可能发生变化,而action字段却是在任何情况下也不可能发生变化的。权限映射表中记录的action字段也就不会变。一个管理组可以执行的权限就不会出错了。二 人员映射表 如下图:  我们来了解一下人员映射表与管理组表以及人员表之间的字段关联,如下图:  看图中的红圈部分,先看groupid字段关联,这种关联方式在数据库中的表现如下图:  如图,“超级管理员”组的groupid为1,我们再看人员映射表,admin属于超级管理员组,而administrator属于超级管理员组,同时也属于管理员组。  使用这种关联方式,是为了查到一个管理组中的人员有谁。和上面一样,人员的详细信息是靠id字段(人员映射表中是masterid字段)关联查询到的。  id字段(人员映射表中是masterid字段)关联表现在数据库中的形式如下图:  一个人员可能同时属于多个“管理组”,如图中,administrator就同时属于两个“管理组”。所以,在人员映射表中关于administrator的记录就会是两条。  这种关联方式才查询到管理组中人员的详细信息有哪些。综合起来,才可以知道一个管理组中的人员有谁,以及这个人员的详细信息。  再结合上面谈到的权限表和权限映射表,就实现了需求中的“组”操作,如下图:  其实,管理组表中仅仅记录着组的基本信息,如名称,组id等等。至于一个组中人员的详细信息,以及该组能够执行的权限的详细信息,都记录在人员表和权限表中。两张映射表才真正记录着一个组有哪些人员,能够执行哪些权限。通过两张映射表的衔接,三张实体表之间的交互才得以实现,从而完成了需求中提到的“组”操作。  我们再来看一下权限分栏表与权限表之间的交互。这两张表之间的字段关联如下图:  两张表使用了actioncolumnid字段相关联,这种关联方式在数据库中的表现如下图:  如图所示,通过这种关联方式,我们可以非常清晰的看到权限表中的权限属于哪个分栏。  现在,数据库结构已经很清晰了,分配权限的功能以及“组”操作都已经实现。下面我们再来分析一下需求中提到的关于权限管理系统的重用性问题。  为什么使用这种数据库设计方式搭建起来的系统可以重用呢?三张实体表中记录着系统中的三个决定性元素。“权限”,“组”和“人”。而这三种元素可以任意添加,彼此之间不受影响。无论是那种类型的业务系统,这三个决定性元素是不会变的,也就意味着结构上不会变,而变的仅仅是数据。两张映射表中记录着三个元素之间的关系。但这些关系完全是人为创建的,需要变化的时候,只是对数据库中的记录进行操作,无需改动结构。权限分栏表中记录着系统使用时显示的分栏。无论是要添加分栏,修改分栏还是减少分栏,也只不过是操作记录而已。  综上所述,这样设计数据库,系统是完全可以重用的,并且经受得住“变更”考验的。总结:  此套系统的重点在于,三张实体表牢牢地抓住了系统的核心成分,而两张映射表完美地映射出三张实体表之间的交互。其难点在于,理解映射表的工作,它记录着关系,并且实现了“组”操作的概念。而系统总体的设计是本着可以在不同的MIS系统中“重用”来满足不同系统的功能权限设置。附录:权限管理系统数据表的字段设计  下面我们来看看权限管理系统的数据库表设计,共分为六张表,如下图:action表:  action表中记录着系统中所有的动作,以及动作相关描述。actioncolumn表:  actioncolumn表中记录着动作的分栏,系统运行时,左侧菜单栏提供了几块不同的功能,每一块就是一个分栏,每添加一个分栏,该表中的记录就会增加一条,相对应的,左侧菜单栏中也会新增机一个栏。actiongroup表:  actiongroup表记录着动作所在的组。groupmanager表:  groupmanager表记录着管理组的相关信息,每添加一个管理组,这里的记录就会增加一条。mastergroup表:  mastergroup表记录着管理员所在的管理组,由于一名管理员可能同同时属于多个组,所以该表中关于某一名管理员的记录可能有多条。master表:  master表记录着所有管理员的信息,每添加一个管理员,该表就会增加一条记录。

企业管理系统软件的用户权限怎么设计

企业管理系统软件的用户权限设计大概有这几种模式:用户+组+角色+权限;用户+组+权限;用户+角色+权限;用户+权限,每个企业的需求不同,用户权限的设计也不一样。8Manage企业管理系统可以根据用户类型、用户角色、部门职能岗位等划分设置权限,既保证企业信息数据的有效交流,又确保企业数据的相对独立及安全,提升系统的安全级别,确保数据的保密及安全。

怎么设计用户权限管理系统数据库要用到哪几张表每张表有哪些字段

1、首先在oracle数据库创建教学管理系统需,要用到的数据表如下。

2、上述中数据表的其他信息创建。(departments表、class表、students表、course表)。

3、步骤一中数据表的其他信息创建。(teacher表、teach表、score表)。

4、然后对创建的数据表按要求输入数据值。

5、最后按照上述要求继续用插入语句添加数据值。

6、查询学生信息表中学生的学号、姓名、性别、出生日期、班级编码,并以汉字标题显示字段名。就完成了。

权限

最新文章