物流权限管理系统开发
2017-03-01安阳工学院计算机科学与信息工程学院王庆喜
安阳工学院计算机科学与信息工程学院 王庆喜 李 阳
物流权限管理系统开发
安阳工学院计算机科学与信息工程学院 王庆喜 李 阳
为了提升系统安全性,阻止非法使用,实现了物流管理系统的用户权限管理功能。该功能模块采用Java、JSON技术以及Struts2、Hibernate和Spring三大框架。其实现简单,功能稳定可靠。
物流管理系统;权限管理;系统实现
1.引言
权限管理是系统开发的核心功能模块,是系统安全性的重要部分。物流管理系统有多种角色,用户众多,为了控制用户合法使用系统,权限管理十分重要。结合物流管理系统以及其用户特点,该系统采用用户、角色、功能三者进行管理权限,即用户属于某一角色,角色具有一定的系统功能权限。为了提升权限管理的灵活性,允许给用户单独赋权限。
2.用户管理模块
通过“用户管理”按钮,触发UserListAction请求,在该Action请求中,调用列出所有用户信息的执行方法,而且经过了JSON序列化后在页面形成用户列表显示,而且还调用了Service层中的分页方法,进行对用户列表进行分页列表显示。
在输入特定查询条件后,点击“查询”按钮,把查询条件同样也提交到了UserListAction中,因为在UserListAction中,有对条件的封装的方法,然后把封装好的条件传递给底层的查询方法,然后将查询出的信息经JSON序列化后分页的显示用户列表信息,代码如下:
在新增用户信息时,将新增用户的信息填写完毕后,点击“保存”按钮,把数据就传递给UserSaveAction,在UserSaveAction中,有对用户添加的方法,首先,要保证添加的新用户在原来的用户列表中是不存在的,然后调用Service层中对用户添加的方法,来添加一个新用户。
在修改用户信息时,选中要修改的一条用户信息,这时就可以得到这条用户信息的id,然后点击修改,那么接下来就是把该条用户信息的id值传递给UserViewAction,在UserViewAction中接收一个id值,通过UserViewAction中findUser方法,首先查到对应id的用户的具体信息,然后将信息显示在修改页面,这一步叫做数据的回显,是做修改时,时常会用到的技术,然后修改信息后,点击“保存”按钮,将数据提交到UserSaveAction中,然后调用Service层中的updateUser方法,对用户数据进行修改,代码如下。
在删除用户信息时,选中一行信息,然后点击“删除”按钮,这时就把该条用户信息的id传递给了UserDeleteAction,然后调用UserDeleteAction中的delete方法,然后用Service层中的删除方法,删除用户信息,代码如下。
用户管理功能页面可以方便工作人员对用户信息进行增,删,改,查等操作;在选中一条用户信息后,右键单击出现为“为用户授予角色”菜单按钮,可以为用户赋予角色权限。
3.功能模块
点击“功能管理”按钮,进入ModuleAction中,通过ModuleAction中的list方法,并且在list方法中调用了Service层中的findAll方法,查询所有的模块列表信息,并且将模块列表信息经过JSON序列化后显示在页面上,代码如下。
新增模块信息时,在填完模块信息后,点击“添加”按钮,信息将会提交给ModuleAction中的save方法,然后就会调用Service层中的addModule方法,添加新的模块。
修改模块信息时,点击一条模板信息,然后就可以获取到该条模板信息的id值,然后利用table的动态的行内编辑,把此行所有的数据都变为可编辑的状态,然后修改完成后,点击“保存”按钮,将数据提交给ModuleAction中的update方法,然后在ModuleAction中就会调用Service层中的updateModule方法,来完成模块信息的修改,代码如下。
在删除模块信息时,首先选中一条记录,点击删除按钮,然后就将该条信息的id传递给了ModuleAction中的delete方法,在ModuleAction中调用Service层中的deleteModule方法完成模块信息的删除。
在模块列表中双击一条记录,然后获取到该行的信息id,将id传递给FunctionAction,在FunctionAction中,可以利用功能的外键module_id,然后将得到的记录id传递给module_id,在用FunctionAction中list方法就可以在弹出的窗体中查看属于这个模块的所有的功能。
4.权限模块
首先点击右侧“权限管理”按钮,进入RoleAction中,通过RoleAction中的list方法,并在list方法中调用Service层中的findAll方法,显示所有的角色列表信息,并且将角色列表信息经过JSON序列化后显示在页面上,代码如下。
新增角色信息,在填写完角色信息后,点击“添加”按钮,信息将会提交给RoleAction中的save方法,然后在RoleAction中就会调用Service层中的addRole方法,完成添加新的角色的功能,代码如下。
修改角色信息时,点击一条角色信息,然后就可以获取到该条角色信息的id值,然后利用table的动态的行内编辑,把此行所有的数据都变为可编辑的状态,然后修改角色信息完成后,点击“保存”按钮,将数据提交给RoleAction中的update方法,然后就会调用Service层中的updateRole方法,来完成角色信息的修改,代码如下。
在删除角色信息时,首先选中一条记录,点击“删除”按钮,然后就将该条信息的id值传递给RoleAction中的delete方法,然后在RoleAction中又调用Service层中删除角色的deleteRole方法来完成角色信息的删除,代码如下。
为角色授权,右键单击一条记录,将弹出“为角色授权”菜单按钮,点击菜单按钮将会跳转到FunctionAction中,并且在FunctionAction中调用list方法,列出所有的功能信息,方便对角色进行功能授权,在完成复选框选择功能后,提交数据到RoleAction的grantfunctions方法中,在grantfunctions方法中调用了Service层中的grant方法,完成角色的授权,代码如下。
权限模块页面是对用户进行权限角色设置,明确用户的管理职责,方便系统的管理。
5.总结
本文阐述了物流管理系统的权限管理的实现,主要包括用户、角色、功能的管理。功能实现时采用三层结构,技术采用Struts2、Hibernate和Spring;界面采用Easyui以及JSP等技术。该功能模块实现后满足了用户权限管理的需求,在功能控制上达到了预期目标。
[1]宁晓菊,陈艳,朱伟军,等.基于RFID的工业园区SHIP智能物流管理系统[J].制造业自动化,2014(2):10-13.
[2]李吟龙.基于J2EE技术的高速公路物流管理系统[J].电子设计工程,2016,24(19):79-82.
[3]屈展,李婵.JSON在Ajax数据交换中的应用研究[J].西安石油大学学报(自然科学版),2011,26(1):95-98.
王庆喜(1979—),男,河南内黄人,硕士,讲师,研究方向:智能算法、软件开发技术。
安阳工学院科研基金项目(YJJ2016004)。