posts - 10,comments - 2,trackbacks - 0

          網站:JavaEye 作者:liuwei1981 發表時間: 2007-08-22 09:38 此文章來自于 http://www.JavaEye.com
          聲明:本文系JavaEye網站原創文章,未經JavaEye網站或者作者本人書面許可,任何其他網站嚴禁擅自發表本文,否則必將追究法律責任!
          原文鏈接: http://liuwei1981.javaeye.com/blog/115158

                     維護的這個軟件系統使用了一個比較復雜的系統權限管理系統,原本的設計是將用戶對軟件的使用權限控制到以最末級的菜單,并根據公司組織機構的設計,上級組織單位可以將自身所獲得的權限繼續授權到自己的下級公司。

                 為了授權權限的操作簡單話,不然每次都從幾百個菜單選項中選擇給該用戶授權的菜單權限,恐怕這個權限系統管理員就要崩潰了。:-),權限管理系統將權限分為了權限組,權限域,基本權限管理。


                權限組和權限域的區別我至今沒有太分的清楚,郁悶中····在不多的使用當中(主要是設置測試用戶的權限)感覺上這兩種權限范圍設置是評級的,沒有誰是誰的上級的關系,不清楚當初為什么設置成這樣,我用的主要是權限域的設置。


               給用戶授權下權限,前提是已經有相應的權限域設置。


             1.權限域設置:權限域需要相應的設置編碼,并選擇該權限域包括的菜單權限。


             2.在設置好權限域后,就可以直接將該權限域授權到系統用戶。


             權限管理使用了數據庫信息管理,現在使用起來比較笨拙,不過由于最初的設置過于復雜,如果使用現在比較統一的xml文件配置,可能使用起來也不是很方便。


             每個菜單權限項都有一個自身的權限編碼,該系統的菜單全部分為三級,編碼規范為:一級菜單編碼_二級菜單編碼_三級菜單編碼。這樣,在授權權限的時候可以直接將一級菜單授權,用戶相應的也獲得該一級菜單下所有功能的使用權。


              用戶登錄成功后系統會將該用戶的合法權限值壓到一個集合中,放到sessin對象里。


             權限的控制在系統的頁面和后臺控制類都有實現。頁面使用了上一篇提到的頁面邏輯標簽實現控制,在顯示該頁面之前,控制類使用了個系統框架提供的公共權限控制類將該用戶的權限值壓到頁面值中。


            在調用該功能之前,控制類現會判斷該用戶的權限,有一個通用類,將該功能的權限和當前的用戶對象作為參數傳入,該類會判斷在用戶的權限集合中是否包括該權限,以決定是否繼續執行該功能流程。


            這個系統的權限管理部分就是這么多了,下一篇講講這個系統的數據庫管理部分。維護的這個軟件系統使用了一個比較復雜的系統權限管理系統,原本的設計是將用戶對軟件的使用權限控制到以最末級的菜單,并根據公司組織機構的設計,上級組織單位可以將自身所獲得的權限繼續授權到自己的下級公司。


                 為了授權權限的操作簡單話,不然每次都從幾百個菜單選項中選擇給該用戶授權的菜單權限,恐怕這個權限系統管理員就要崩潰了。:-),權限管理系統將權限分為了權限組,權限域,基本權限管理。


                權限組和權限域的區別我至今沒有太分的清楚,郁悶中····在不多的使用當中(主要是設置測試用戶的權限)感覺上這兩種權限范圍設置是評級的,沒有誰是誰的上級的關系,不清楚當初為什么設置成這樣,我用的主要是權限域的設置。


               給用戶授權下權限,前提是已經有相應的權限域設置。


             1.權限域設置:權限域需要相應的設置編碼,并選擇該權限域包括的菜單權限。


             2.在設置好權限域后,就可以直接將該權限域授權到系統用戶。


             權限管理使用了數據庫信息管理,現在使用起來比較笨拙,不過由于最初的設置過于復雜,如果使用現在比較統一的xml文件配置,可能使用起來也不是很方便。


             每個菜單權限項都有一個自身的權限編碼,該系統的菜單全部分為三級,編碼規范為:一級菜單編碼_二級菜單編碼_三級菜單編碼。這樣,在授權權限的時候可以直接將一級菜單授權,用戶相應的也獲得該一級菜單下所有功能的使用權。


              用戶登錄成功后系統會將該用戶的合法權限值壓到一個集合中,放到sessin對象里。


             權限的控制在系統的頁面和后臺控制類都有實現。頁面使用了上一篇提到的頁面邏輯標簽實現控制,在顯示該頁面之前,控制類使用了個系統框架提供的公共權限控制類將該用戶的權限值壓到頁面值中。


            在調用該功能之前,控制類現會判斷該用戶的權限,有一個通用類,將該功能的權限和當前的用戶對象作為參數傳入,該類會判斷在用戶的權限集合中是否包括該權限,以決定是否繼續執行該功能流程。


            這個系統的權限管理部分就是這么多了,下一篇講講這個系統的數據庫管理部分。




          《 總結一下維護了一年的一個軟件系統的軟件體系(四) 》 的評論也很精彩,歡迎您也添加評論。查看詳細 >>





          JavaEye推薦
          上海樂福狗信息技術有限公司:誠聘技術經理和開發工程師
          免費下載IBM社區版軟件--它基于開放的標準,支持廣泛的開發類型,讓您的開發高效自主!
          京滬穗蓉四地免費注冊,SOA技術高手匯聚交鋒.
          上海:優秀公司德比:高薪誠聘 資深Java工程師
          廣州:優易公司:誠聘Java工程師,開發經理
          上海:尤恩斯國際集團:誠聘開發工程師
          北京:優秀公司NHNChina招聘:WEB開發,系統管理,JAVA開發, DBA



          文章來源: http://liuwei1981.javaeye.com/blog/115158
          posted on 2007-08-22 09:38 皇馬嘯西風 閱讀(163) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 东光县| 池州市| 醴陵市| 青海省| 巩留县| 翁源县| 宁明县| 呼图壁县| 龙门县| 上高县| 滨州市| 从化市| 鄄城县| 汝南县| 新津县| 丰镇市| 白朗县| 霍州市| 永寿县| 庆阳市| 鄂尔多斯市| 孙吴县| 永城市| 卢龙县| 金阳县| 邳州市| 万源市| 江阴市| 成都市| 潞西市| 隆尧县| 天台县| 蓝山县| 盐亭县| 西畴县| 叶城县| 岳普湖县| 忻州市| 临潭县| 河西区| 中超|