安陽工學(xué)院計(jì)算機(jī)科學(xué)與信息工程學(xué)院 王慶喜 李 陽
物流權(quán)限管理系統(tǒng)開發(fā)
安陽工學(xué)院計(jì)算機(jī)科學(xué)與信息工程學(xué)院 王慶喜 李 陽
為了提升系統(tǒng)安全性,阻止非法使用,實(shí)現(xiàn)了物流管理系統(tǒng)的用戶權(quán)限管理功能。該功能模塊采用Java、JSON技術(shù)以及Struts2、Hibernate和Spring三大框架。其實(shí)現(xiàn)簡單,功能穩(wěn)定可靠。
物流管理系統(tǒng);權(quán)限管理;系統(tǒng)實(shí)現(xiàn)
權(quán)限管理是系統(tǒng)開發(fā)的核心功能模塊,是系統(tǒng)安全性的重要部分。物流管理系統(tǒng)有多種角色,用戶眾多,為了控制用戶合法使用系統(tǒng),權(quán)限管理十分重要。結(jié)合物流管理系統(tǒng)以及其用戶特點(diǎn),該系統(tǒng)采用用戶、角色、功能三者進(jìn)行管理權(quán)限,即用戶屬于某一角色,角色具有一定的系統(tǒng)功能權(quán)限。為了提升權(quán)限管理的靈活性,允許給用戶單獨(dú)賦權(quán)限。
通過“用戶管理”按鈕,觸發(fā)UserListAction請求,在該Action請求中,調(diào)用列出所有用戶信息的執(zhí)行方法,而且經(jīng)過了JSON序列化后在頁面形成用戶列表顯示,而且還調(diào)用了Service層中的分頁方法,進(jìn)行對用戶列表進(jìn)行分頁列表顯示。
在輸入特定查詢條件后,點(diǎn)擊“查詢”按鈕,把查詢條件同樣也提交到了UserListAction中,因?yàn)樵赨serListAction中,有對條件的封裝的方法,然后把封裝好的條件傳遞給底層的查詢方法,然后將查詢出的信息經(jīng)JSON序列化后分頁的顯示用戶列表信息,代碼如下:
在新增用戶信息時(shí),將新增用戶的信息填寫完畢后,點(diǎn)擊“保存”按鈕,把數(shù)據(jù)就傳遞給UserSaveAction,在UserSaveAction中,有對用戶添加的方法,首先,要保證添加的新用戶在原來的用戶列表中是不存在的,然后調(diào)用Service層中對用戶添加的方法,來添加一個(gè)新用戶。
在修改用戶信息時(shí),選中要修改的一條用戶信息,這時(shí)就可以得到這條用戶信息的id,然后點(diǎn)擊修改,那么接下來就是把該條用戶信息的id值傳遞給UserViewAction,在UserViewAction中接收一個(gè)id值,通過UserViewAction中findUser方法,首先查到對應(yīng)id的用戶的具體信息,然后將信息顯示在修改頁面,這一步叫做數(shù)據(jù)的回顯,是做修改時(shí),時(shí)常會(huì)用到的技術(shù),然后修改信息后,點(diǎn)擊“保存”按鈕,將數(shù)據(jù)提交到UserSaveAction中,然后調(diào)用Service層中的updateUser方法,對用戶數(shù)據(jù)進(jìn)行修改,代碼如下。
在刪除用戶信息時(shí),選中一行信息,然后點(diǎn)擊“刪除”按鈕,這時(shí)就把該條用戶信息的id傳遞給了UserDeleteAction,然后調(diào)用UserDeleteAction中的delete方法,然后用Service層中的刪除方法,刪除用戶信息,代碼如下。
用戶管理功能頁面可以方便工作人員對用戶信息進(jìn)行增,刪,改,查等操作;在選中一條用戶信息后,右鍵單擊出現(xiàn)為“為用戶授予角色”菜單按鈕,可以為用戶賦予角色權(quán)限。
點(diǎn)擊“功能管理”按鈕,進(jìn)入ModuleAction中,通過ModuleAction中的list方法,并且在list方法中調(diào)用了Service層中的findAll方法,查詢所有的模塊列表信息,并且將模塊列表信息經(jīng)過JSON序列化后顯示在頁面上,代碼如下。
新增模塊信息時(shí),在填完模塊信息后,點(diǎn)擊“添加”按鈕,信息將會(huì)提交給ModuleAction中的save方法,然后就會(huì)調(diào)用Service層中的addModule方法,添加新的模塊。
修改模塊信息時(shí),點(diǎn)擊一條模板信息,然后就可以獲取到該條模板信息的id值,然后利用table的動(dòng)態(tài)的行內(nèi)編輯,把此行所有的數(shù)據(jù)都變?yōu)榭删庉嫷臓顟B(tài),然后修改完成后,點(diǎn)擊“保存”按鈕,將數(shù)據(jù)提交給ModuleAction中的update方法,然后在ModuleAction中就會(huì)調(diào)用Service層中的updateModule方法,來完成模塊信息的修改,代碼如下。
在刪除模塊信息時(shí),首先選中一條記錄,點(diǎn)擊刪除按鈕,然后就將該條信息的id傳遞給了ModuleAction中的delete方法,在ModuleAction中調(diào)用Service層中的deleteModule方法完成模塊信息的刪除。
在模塊列表中雙擊一條記錄,然后獲取到該行的信息id,將id傳遞給FunctionAction,在FunctionAction中,可以利用功能的外鍵module_id,然后將得到的記錄id傳遞給module_id,在用FunctionAction中l(wèi)ist方法就可以在彈出的窗體中查看屬于這個(gè)模塊的所有的功能。
首先點(diǎn)擊右側(cè)“權(quán)限管理”按鈕,進(jìn)入RoleAction中,通過RoleAction中的list方法,并在list方法中調(diào)用Service層中的findAll方法,顯示所有的角色列表信息,并且將角色列表信息經(jīng)過JSON序列化后顯示在頁面上,代碼如下。
新增角色信息,在填寫完角色信息后,點(diǎn)擊“添加”按鈕,信息將會(huì)提交給RoleAction中的save方法,然后在RoleAction中就會(huì)調(diào)用Service層中的addRole方法,完成添加新的角色的功能,代碼如下。
修改角色信息時(shí),點(diǎn)擊一條角色信息,然后就可以獲取到該條角色信息的id值,然后利用table的動(dòng)態(tài)的行內(nèi)編輯,把此行所有的數(shù)據(jù)都變?yōu)榭删庉嫷臓顟B(tài),然后修改角色信息完成后,點(diǎn)擊“保存”按鈕,將數(shù)據(jù)提交給RoleAction中的update方法,然后就會(huì)調(diào)用Service層中的updateRole方法,來完成角色信息的修改,代碼如下。
在刪除角色信息時(shí),首先選中一條記錄,點(diǎn)擊“刪除”按鈕,然后就將該條信息的id值傳遞給RoleAction中的delete方法,然后在RoleAction中又調(diào)用Service層中刪除角色的deleteRole方法來完成角色信息的刪除,代碼如下。
為角色授權(quán),右鍵單擊一條記錄,將彈出“為角色授權(quán)”菜單按鈕,點(diǎn)擊菜單按鈕將會(huì)跳轉(zhuǎn)到FunctionAction中,并且在FunctionAction中調(diào)用list方法,列出所有的功能信息,方便對角色進(jìn)行功能授權(quán),在完成復(fù)選框選擇功能后,提交數(shù)據(jù)到RoleAction的grantfunctions方法中,在grantfunctions方法中調(diào)用了Service層中的grant方法,完成角色的授權(quán),代碼如下。
權(quán)限模塊頁面是對用戶進(jìn)行權(quán)限角色設(shè)置,明確用戶的管理職責(zé),方便系統(tǒng)的管理。
本文闡述了物流管理系統(tǒng)的權(quán)限管理的實(shí)現(xiàn),主要包括用戶、角色、功能的管理。功能實(shí)現(xiàn)時(shí)采用三層結(jié)構(gòu),技術(shù)采用Struts2、Hibernate和Spring;界面采用Easyui以及JSP等技術(shù)。該功能模塊實(shí)現(xiàn)后滿足了用戶權(quán)限管理的需求,在功能控制上達(dá)到了預(yù)期目標(biāo)。
[1]寧曉菊,陳艷,朱偉軍,等.基于RFID的工業(yè)園區(qū)SHIP智能物流管理系統(tǒng)[J].制造業(yè)自動(dòng)化,2014(2):10-13.
[2]李吟龍.基于J2EE技術(shù)的高速公路物流管理系統(tǒng)[J].電子設(shè)計(jì)工程,2016,24(19):79-82.
[3]屈展,李嬋.JSON在Ajax數(shù)據(jù)交換中的應(yīng)用研究[J].西安石油大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,26(1):95-98.
王慶喜(1979—),男,河南內(nèi)黃人,碩士,講師,研究方向:智能算法、軟件開發(fā)技術(shù)。
安陽工學(xué)院科研基金項(xiàng)目(YJJ2016004)。