信息系統(tǒng)通用權(quán)限模塊設(shè)計(jì)方案_第1頁
信息系統(tǒng)通用權(quán)限模塊設(shè)計(jì)方案_第2頁
信息系統(tǒng)通用權(quán)限模塊設(shè)計(jì)方案_第3頁
信息系統(tǒng)通用權(quán)限模塊設(shè)計(jì)方案_第4頁
信息系統(tǒng)通用權(quán)限模塊設(shè)計(jì)方案_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、信息系統(tǒng)通用權(quán)限模塊設(shè)計(jì)方案上海智領(lǐng)普華科技有限公司正文目錄1 弓丨言31.1 開發(fā)背景31.2 編寫目的31.3 運(yùn)行環(huán)境32 總體設(shè)計(jì)42.1 設(shè)計(jì)目標(biāo)42.2 設(shè)計(jì)思路42.3 主要功能和數(shù)據(jù)表52.3.1 主要數(shù)據(jù)表52.3.2 功能結(jié)構(gòu)53 詳細(xì)設(shè)計(jì)73.1 主界面73.2 第一步:定義登記應(yīng)用系統(tǒng)菜單83.3 第二步:角色管理93.4 人員管理114 外部系統(tǒng)集成方法144.1 集成方法144.2 權(quán)限控制方法一:對(duì)頁面元素進(jìn)行控制164.3 權(quán)限控制方法二:對(duì)訪問路徑進(jìn)行控制161引言1.1開發(fā)背景在我們開發(fā)軟件過程中,經(jīng)常會(huì)需要開發(fā)一個(gè)后臺(tái)管理程序,用于管理我們開發(fā)的前臺(tái) 軟件

2、,當(dāng)你開發(fā)的軟件越來越多的吋候,你的管理后臺(tái)也會(huì)越來越多,這時(shí)如果有一個(gè)統(tǒng)一 的管理后臺(tái)來進(jìn)來管理,尤其用統(tǒng)一的授權(quán)來分配設(shè)置系統(tǒng)的操作權(quán)限是保障系統(tǒng)安全操作 和代碼復(fù)用快速實(shí)施的基礎(chǔ)內(nèi)容。權(quán)限是應(yīng)用系統(tǒng)不可缺少的部分,每個(gè)系統(tǒng)都有口己的權(quán)限管理,有的系統(tǒng)權(quán)限設(shè)計(jì)的 比較細(xì),有的設(shè)計(jì)的比較“粗糙”。每個(gè)系統(tǒng)對(duì)權(quán)限的要求也不同,基于這些情形我們把權(quán) 限做成一個(gè)公用的模塊,采用角色來進(jìn)行權(quán)限的授權(quán),每個(gè)用戶可以屬于多個(gè)角色,該模塊 將能和各類具體的業(yè)務(wù)應(yīng)用系統(tǒng)進(jìn)行集成,以達(dá)到系統(tǒng)權(quán)限統(tǒng)一配置和快速實(shí)施的目的。1.2編寫目的對(duì)系統(tǒng)整體設(shè)計(jì)、系統(tǒng)功能描述及集成方法進(jìn)行描述。1.3運(yùn)行環(huán)境開發(fā)環(huán)境:j2

3、ee下的web系統(tǒng)操作系統(tǒng):windows數(shù)據(jù)庫:oracle 和 sql server2總體設(shè)計(jì)2.1設(shè)計(jì)目標(biāo)權(quán)限系統(tǒng)一直以來是我們應(yīng)用系統(tǒng)不可缺少的一個(gè)部分,若每個(gè)應(yīng)用系統(tǒng)都重新對(duì)系統(tǒng) 的權(quán)限進(jìn)行設(shè)計(jì),以滿足不同系統(tǒng)用戶的需求,將會(huì)浪費(fèi)我們不少寶貴時(shí)間,所以花時(shí)間來 設(shè)計(jì)一個(gè)相對(duì)通用的權(quán)限系統(tǒng)是很有意義的。本系統(tǒng)的設(shè)計(jì)冃標(biāo)是對(duì)應(yīng)用系統(tǒng)的所有資源進(jìn)行權(quán)限控制,比如應(yīng)用系統(tǒng)的功能菜單、 各個(gè)界面的按鈕控件等進(jìn)行權(quán)限的操控;也可以對(duì)資源位置進(jìn)行控制,比如某個(gè)頁面的路徑。 2.2設(shè)計(jì)思路權(quán)限系統(tǒng)的設(shè)計(jì)主要解決兩個(gè)問題:權(quán)限定義和權(quán)限分配;權(quán)限定義是指系統(tǒng)用戶和操 作的定義,即建立用戶信息和操作信息

4、。權(quán)限分配是指建立用戶信息和操作信息之間的關(guān)系, 只有建立了這種關(guān)系才能確定該用戶是否有該操作的權(quán)限。給操作用戶賦予一種角色,再給每個(gè)角色分配具體的訪問資源;定義以人和操作(例如 按鈕或者菜單)為管理單位,人即系統(tǒng)登錄用戶,操作即每一個(gè)界面元素,如按鈕、菜單, 我們?yōu)檫@些操作分配一個(gè)唯一的權(quán)限碼。權(quán)限分配好后如何使用權(quán)限呢,方法一、登錄系統(tǒng)后,首先進(jìn)行權(quán)限驗(yàn)證,如果他的權(quán) 限擁有與界面元素相同的權(quán)限編號(hào),則界面元素顯示,反之,則隱藏。方法二、通過過濾器 實(shí)現(xiàn),對(duì)資源的訪問路徑進(jìn)行比較,有則進(jìn)入,否則跳轉(zhuǎn)到提示頁面告知用戶不能操作此功 能。權(quán)限系統(tǒng)的邏輯結(jié)構(gòu)如下圖:圖表1權(quán)限模塊的邏輯結(jié)構(gòu)2.3

5、主要功能和數(shù)據(jù)表2.3.1主要數(shù)據(jù)表«oolumn>pk rrod-le. rroduk rrodule rrodug module moduliid: varchar2(20) 2e varchar2 30> url varchar2(30. num: varchar2u0 level: number(4) higbid: varchar2(20)<pk>- pk/fm=varchar2人雖<oolumr»pk depart* *nefttjd varcmar2<20) deptro: varcmar2j20. deptharre: v

6、archar2(30) verk varchar2:100)« column*pk tser.id- varchar2 30; wortno: varchar230) usernae: varchar2:30) name varchar2(30> “詼x varchar2:30) departmental. varchar2(20) birtbds/: daterolejd varchar220) biredate: nvarchar2f50)«oolamr>fcpk rog.id: varchar2j30) rolens-ne varchar2/30) rok

7、.doc varchar2100<pk>* pk_w :農(nóng)(varchar2)2.3.2功能結(jié)構(gòu)以下為權(quán)限模塊的功能結(jié)構(gòu)系統(tǒng)菜單體理權(quán)限管3町訪甸系統(tǒng)資源圖表2功能結(jié)構(gòu)3詳細(xì)設(shè)計(jì)根據(jù)上面的設(shè)計(jì)原理,在對(duì)系統(tǒng)進(jìn)行權(quán)限設(shè)計(jì)的吋候,遵循以下步驟:第一步:定義操作,實(shí)際應(yīng)用系統(tǒng)中可能會(huì)有很多菜單、按鈕或者頁面,因此要先把需 通過權(quán)限控制的功能對(duì)象定義出來。為了管理操作,我們首先對(duì)系統(tǒng)劃分模塊,然后為模塊 劃分功能,最后為功能定義操作。也許這個(gè)過程在系統(tǒng)設(shè)計(jì)時(shí)候己經(jīng)完成,但我們是要提供一個(gè)完全可定義的權(quán)限系統(tǒng), 權(quán)限設(shè)計(jì)與具體業(yè)務(wù)無關(guān),實(shí)際業(yè)務(wù)系統(tǒng)可按照自己的規(guī)劃進(jìn)行各模塊的設(shè)計(jì)開發(fā)。而在應(yīng)

8、 用權(quán)限系統(tǒng)時(shí),權(quán)限系統(tǒng)只要登記實(shí)際應(yīng)用系統(tǒng)的功能模塊名稱和操作動(dòng)作(增加記錄、刪 除記錄等)即可,從而對(duì)這些資源實(shí)現(xiàn)控制。第二步:定義角色,角色具體到實(shí)際業(yè)務(wù)工作中實(shí)際就是崗位職務(wù)或工種,角色建立好 后,再往角色里添加可以訪問的系統(tǒng)模塊資源。這些系統(tǒng)資源就組成了在系統(tǒng)中可訪問的資 源,一個(gè)系統(tǒng)可以有很多角色,不同的角色有不同的訪問資源。第三步:為人員分配角色,在第二步定義角色時(shí)已定義好了它可以訪問的系統(tǒng)資源,從 而具有某個(gè)角色的人員就繼承了該角色的操作權(quán)限。3.1主界面權(quán)限管理人員曾理介色理j柚前i j為戲麗j anw圖表3系統(tǒng)主界面3.2第一步:定義登記應(yīng)用系統(tǒng)菜單圖表4定義登記具體業(yè)務(wù)應(yīng)

9、用系統(tǒng)功能結(jié)構(gòu)樹型菜單加上表格數(shù)據(jù)展示,讓人對(duì)系統(tǒng)菜單一目了然,更方便管理;&菜型1o弟草:0柯.3 0卷缸 3菜鵜0菜叩 。杲右 0菜單5c菜單級(jí)別:上購肆:|_請(qǐng)翊_、躬:名稱:j叫匚亜增tn系歩杲單勵(lì)諛單冷作區(qū)圖表5添加一個(gè)功能菜單增加菜單,新增菜單自動(dòng)編號(hào),在模塊ml列登記實(shí)際業(yè)務(wù)模塊的功能名稱。逐個(gè)登記業(yè)務(wù)系統(tǒng)所有的功能模塊名稱。圖表6修改菜單33第二步:角色管理!孤smgs:第色管理圖表7角色管理主頁面工作內(nèi)隹圖表8添加角色1卜傾酬住盤:龜色聽y單菜單編號(hào)菜單名并莫單mftu菜單1 e2001m4imeoul.do0菜單】72002«2meau2.d30粟敘.2

10、v003x43meflus.do0菜單卩7颯菜單meai.do0他z酗菜單1tcuj.14?必菜切e200?1*1.2mecu! 2 joe0菓單口匚:008、英單!menu!0菜虹朋0菜赴匚、'"定【z回'02> 范、xu、 1 j、'、asm ir 范號(hào)您單is示刃塚區(qū)圖表9給角色賦予可訪問的資源左邊為系統(tǒng)菜單展示及選擇區(qū),右邊為已選菜單項(xiàng)展示區(qū),這樣讓用戶看著更直觀,方 便操作。呻血単角色賽 期號(hào)色肌角色賞引測(cè) 艇蹄:??品寝y內(nèi)務(wù)秋i更疸叵童亙圖表10修改角色3.4人員管理2忝加圖表門人員管理主界面i mms: 誘學(xué)?加人員驕 増譏員闔8編號(hào)柱名住

11、別出生日期所在豹工作崗位停改瞬14214頃女電網(wǎng)銅頃查看|©修改>h1».113水員男19驅(qū)25顧查薈|阪改'hi除313m96男195ow-09電附1廈部sjos5k詢31swr515期俊女c修改3132xu男1940知 6鈕k長(zhǎng)頃查看1c修改倍女皿9如肢儷貴人q s«c修改3130623男1959jj8.25臾電班員責(zé)人t 2fc修改3132392女1959-m-25am員q查厝hi除3132153女19594)8-25工腔設(shè)留工経®$任q 看©修改513270?孵男19加825設(shè)備運(yùn)館«koj!q查香c修改>

12、hi».圖表12添加人員信息圖表13修改人員信息由于使用系統(tǒng)的單位多數(shù)都有電子表格的人員名錄,我們提供了將其導(dǎo)入本權(quán)限系統(tǒng)的功能。:人員色燙圖表14人員資料導(dǎo)入導(dǎo)出人員信息導(dǎo)入導(dǎo)出,方便數(shù)據(jù)管理,避免系統(tǒng)更換時(shí)重新數(shù)據(jù)錄入,從而減輕工作負(fù)擔(dān)。al(“a工號(hào)abcdefg姓名性別1 l工號(hào)2 4214king3 123小風(fēng)4 3130496徐瑋5 3130497515胡俊陳國(guó)強(qiáng)63132444£12238 31306239 313239210 313215311 313270712 313252313 3132603余勤學(xué)建張陳舌陳賁女男女女男文女.124142 j3002k

13、ing121221213002 二調(diào)度主管bobo11111111111113002副值調(diào)度員xuweidrgerg h| 3002 二胡俊2521231362002桿變班班長(zhǎng)陳國(guó)強(qiáng)聯(lián)系電話部門編號(hào)工作崗位計(jì)算機(jī)登錄名2002桿變小班負(fù)責(zé)人王玲榮1245662002變電班負(fù)責(zé)人傅硯11222222003高壓監(jiān)察員張學(xué)余3001工程部主任陳建勤2002線路巡悼胡華drgerg2002線路巡徹陳漢沖2002數(shù)據(jù)維護(hù)人員賁志棠 9e 4外部系統(tǒng)集成方法4.1集成方法本模塊與其他系統(tǒng)集成非常簡(jiǎn)單,只需要引入本模塊根目錄的perm包及webroot f的 perm文件夾,然后將后面的色perm下的spr

14、ingxml文件夾里的配置文件遷移到需要集成的 配置文件里(struts相關(guān)配置文件及spring的相關(guān)bean配置),最后移入web-inf下的 drw.xml,還需要在web.xml加入以下內(nèi)容<!- ajax的dwr框架配置-><servlet><servlet-name>dwv/sevlet-name><servlet-class>org.directwebremoting.servlet.dwrservlet</servlet-class><init-param><param-name>debu

15、g</param-name><param-value>true</param-value></init-param></servlet><servlet-mapping><servlet-name>dwr</servlet-name><url-pattem>/dwr/*v /url-pattem></servlet-mapping><!-編碼過濾-><filter><filter-name>encodingfilter</fil

16、ter-name><filter-class>com.perm.util.encodingfilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>encodingfilter</filter-name><

17、;url-pattern>/*</url-pattem></filter-mapping>注:本模塊使用了 ajax的dwr框架,在系統(tǒng)集成時(shí)必須引入dwr.jaro否則,很多功能無 法正常使用。本模塊采用的是oracle數(shù)據(jù)庫,如要使用sqlserver,需耍修改兩個(gè)地方:a、實(shí)體類映射文件。<class name=ucom.perm.bean. zbase_sys_modulen table=uzbase_sys_modulen schema=uperm,'>oracle映射文件class書寫方式<class name=ucom.pe

18、rm.bean zbase_sys_module" table=hzbase_sys_modulengchema=nclbonicatalog=npermn>sql server映射文件class書寫方式b、控制層分頁方法的實(shí)現(xiàn)(com.perm.server.impl包下的文件,里面方法已寫好,只需取消注釋,然后注釋掉oracle的分頁即討);public list getall(int startnim, int endnum) throws exception string sql = uselect * from (select rownum as num,from z

19、base_user_department t)”+ n where num>"+startnum+ h and num<=u +endnum;zbase_user_department bm = new zbase_user_department();ret urn dao. getallbysql (sql 9 bm) ;/oracle 分頁/re turn do.getallby sei server (startnum, endnum f sgrl,n) ;/sgl server 分貝4.2權(quán)限控制方法一:對(duì)頁面元素進(jìn)行控制用戶登錄后,獲得他的角色的所有可以訪問的系

20、統(tǒng)資源,然后對(duì)頁面元素進(jìn)行判斷<logicliterate id二"module" offset二"1" length="l" name="modulelist<logic:equal value=,t2003h property=nmoduleldn name=,module,>菜單三表示如果用戶的權(quán)限里有2003,則菜單三顯示</logic:equal></logic:iterate>4.3權(quán)限控制方法二:對(duì)訪問路徑進(jìn)行控制用戶登錄后,獲得他的角色的所有可以訪問的系統(tǒng)資源,然后用

21、戶在訪問系統(tǒng)資源時(shí),對(duì)請(qǐng)求路徑進(jìn)行過濾:在web.xml里進(jìn)行配置:<filter><filter-name>modulefilter</filter-name><filter-class>com.perm.util.modulefilter</filter-class><init-param><param-name>nomodule</param-name><param-value>./msg.jsp</param-value></init-param></filter> <filter-mapping><filter-name>modulefilter</filter-name> <url-pattern>*.do</url-pattern></filter-mapping>在filte

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論