首页 > 编程知识 正文

java用户权限管理,java管理员和用户权限管理

时间:2023-05-05 15:35:11 阅读:58627 作者:2935

一.引言

虽然做过的系统权限管理功能逐渐完善,但是总有不喜欢的地方,所以总是想抽时间多考虑一下权限系统的设计。

权限系统是我们应用系统中不可缺少的一部分,重新设计系统权限以满足不同系统用户的需求会浪费我们宝贵的时间,因此花时间设计比较通用的权限系统是有意义的

2 .设计目标

设计灵活通用方便的权限管理系统。

在此系统中,必须对系统的所有资源进行权限控制,系统中的资源包括什么? 这些资源可以简单地归纳为静态资源(功能操作、数据串)和动态资源(数据)数据),也分别称为对象资源和数据资源,后者是系统设计和实现中的叫法。

系统的目标是对APP应用程序系统的所有对象和数据资源进行权限控制,包括APP应用程序系统的功能菜单、每个接口的按钮、数据显示列和对不同行级数据的权限操作。

三.相关对象及其关系

大致整理一下权限系统的相关概念,如下所示。

1 .权限

的所有权限信息。 权限有上下级关系,是树状结构。 请看一个例子

系统管理

用户管理

查看用户

添加用户

更改用户

删除用户

上述每个权限有两种情况:一种是可以访问的,另一种是可以批准的。 例如,对于“查看用户”权限,如果用户仅被授予“可访问”,则不能将该权限分配给其他用户。

2 .用户

用户自身可以拥有权限信息,APP应用程序的具体操作者可以属于0~n个角色,并且可以属于0~n个组。 他的权限集是自己拥有的权限、所属各角色拥有的权限、所属各组拥有的权限的集合。 权限、角色、与群的关系均为n对n的关系。

3 .角色

为了对许多具有类似权限的用户进行分类和管理,定义了系统管理员、管理员、用户、来宾等角色的概念。 角色具有上下级关系,可以形成树视图。 父角色的权限综合了自身及其所有子角色的权限。 父角色的用户、父角色的组也是如此。

4 .小组

为了更好地管理用户,将用户分组,简称为用户组。 组也有上下级关系,可以形成树视图。 实际上,我们知道组也可以有自己的角色信息、权限信息。 考虑一下我们的QQ用户组。 一个组可以有多个用户,也可以有一个用户加入多个组。 每个组都有自己的权限信息。 例如,看组共享。 QQ群也可以有自己的角色信息。 例如,普通群、高级群等。

关于上面提出的4种对象,用图来看看他们的关系吧。

从上图可以看出,这四种关系很复杂,但实际情况比该图更复杂,权限、角色、组都有上下级关系。 权限管理是APP应用系统中一个棘手的问题,要设计通用的权限管理系统,工作量也不少。

当然,在一些项目中,权限问题并不那么复杂。 有些只需要将权限分配给用户,而只需要涉及两种类型的对象:权限和用户。

在某些情况下,只需引入角色对象(如基于角色的权限系统)并将权限分配给角色,所有用户都属于该角色,而不需要为用户单独分配角色信息。

下一篇介绍权限管理的数据库设计等。

期待各位的意见和协助。

请参阅文章:设计APP应用程序权限

心情小站——权限相关

posted on 2007-09-29 11:26阿米戈读书25039 (评论) 22 )编辑收藏所属分类:开放资源

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。