一种基于JavaEJB框架的权限设计方法与流程

文档序号:12467836阅读:513来源:国知局
一种基于JavaEJB框架的权限设计方法与流程

本发明涉及Java EJB框架技术领域,特别涉及一种基于Java Swing平台的权限设计方法。



背景技术:

当在Java Swing平台下使用EJB框架开发的系统不能使用URL来控制用户访问模块的权限,即当进行用户访问控制时,由于Java Swing平台下的各个模块比较独立,关联少,更不能像Web平台下控制用户访问URL地址一样来控制其要访问的资源,就不能良好地控制用户访问模块的权限。



技术实现要素:

本发明解决的技术问题在于提供一种基于EJB框架权限设计方法,提供一套根据用户自定义模块的路径及层次来控制的权限方案,解决Swing平台下不能细粒度控制用户访问权限问题。

本发明解决上述技术问题的技术方案是,

在创建用户时,先设定用户将要访问的模块的路径、名称及层次,并在模块自定义一系列的权限,分配这些角色与权限给用户,控制权限模块判断用户的权限。

具体包含以下几个步骤:

步骤一:创建用户类,封装用户工号、密码、昵称等信息,主要用来处理权限关联与系统登陆,部门类,包括部门名称基本属性等,用户角色类与系统角色类,用户角色主要用来搭建系统角色与用户之间的桥梁,用户权限类与系统权限类,用户权限主要用来搭建系统权限与用户及系统角色之间的桥梁,模块类,添加必要属性路径、名称与层级;

步骤二:在用户类里设置与用户角色类一对多关系,与部门类的多对一关系,与用户权限类一对多关系,在用户角色类里设置与用户类的多对一关系,与系统角色类的多对一关系,在用户权限类里设置与用户类的多对一关系,与系统角色类的多对一关系,与系统权限类的多对一关系,在模块类设置与系统权限类的一对多关系,与父模块类的多对一关系;

步骤三:开发一个前台页面,可读出所有的模块的树状结构信息,并可在相应的模块下添加子模块的名称、路径与层级及相关的增删改查权限等;

步骤四:分配这些角色与权限给用户,当用户登陆系统时,加载其相关的角色与权限,并存储到Swing里的Application容器里;

步骤五:控制权限模块判断用户的权限集合是否包含模块里的路径,如果返回true,说明有权限,反之则没权限。

本发明的有益效果如下:

用户不但可以自定义权限,还可以层级权限控制,并能精准到用户对每个按钮的访问权限控制,从而达到系统能够细粒度地控制到每个用户只能访问自己拥有权限的模块的目的。

附图说明

下面结合附图对本发明进一步说明:

图1为本发明的方法流程图。

图2为本发明的前台页面布局。

具体实施方式

如图1所示,本发明采用如下步骤:

步骤一、创建用户类User,封装用户工号、密码、昵称等信息,主要用来处理权限关联与登陆;如:

步骤二、创建部门类Department,包括部门名称基本属性等,在User类设置与Department类的多对一关系;

步骤三、创建用户角色类UserRole与系统角色类Role,用户角色主要用来搭建Role与User之间的桥梁;如:

步骤四、创建用户权限类UserPower与系统权限类Power,用户权限主要用来搭建Power与User及Role之间的桥梁;如:

步骤五、在User类里设置与UserRole的一对多关系,与UserPower的一对多关系;如:

步骤六、在UserRole类里设置与User类的多对一关系,与Role的多对一关系;如:

步骤七、在UserPower类里设置与User类的多对一关系,与Role的多对一关系,与Power的多对一关系;如:

步骤八、创建模块类Module,添加必要属性路径、名称与层级,并设置与Power的一对多关系,与父Module的多对一关系;

步骤九、开发一个前台页面,可读出所有的模块的树状结构信息,并可在相应的模块下添加子模块的名称、路径与层级,并能添加对应模块的权限;

步骤十、当用户登陆系统时,加载其相关的角色与权限,并存储到Swing里的Application容器里;

步骤十一、在要控制权限的模块里判断用户的权限集合是否包含Modul里的路径,如果返回true,说明有权限,反之则没权限。如:

相关isInPower函数代码:

图2为本发明的前台页面布局,前台页面包含功能模块列表,显示名称,路径名称,备注,顺序号和权限列表,功能模块列表里包括:功能模块,基础资料,任务管理和人力资源管理,权限列表包括权限名称和序号。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1