wake

          JSP權限控制(一)

          近幾天不是很忙,就想看看關于 WEB 方式 (Jsp) 后臺權限控制的設計實現問題 , Google 搜了一下,一大堆的東西,當看到頭大的時候決定自己先試著做一個簡單例子。

          ?

          先推薦大家有時間看一下關于 RBAC 即角色訪問控制 (Role Based? Access Control) 的相關文章,雖然已經是個老話題了 , 但如果要在一個大的項目中實現權限控制的話,最好還是按照這些文章中的設計去逐步實現。

          ?

          以下的設計只是一個簡單的控制,可以應用在一些小成本的項目中。也可能不是最好的解決方法,但旨在與大家交流及共享。各位見笑,閑話少續,言歸正傳。

          ?

          我的設計思路是這樣的:

          ?

          1, 管理員用戶表中有個字段專門記錄每個用戶所擁有的權限。

          2, 權限和文件名對應,比如有個權限的名稱叫新聞編輯,而與此編輯權限對應的文件有: News_add.jsp,News_del.jsp,News.action 等,他們之間是一對多的關系。如下圖:


          p1.jpg


          ?

          如果還不明白,請繼續往下看:我的想法是這樣的 比如 a 用戶如果有新聞編輯的權限,那么在 a 用戶記錄權限的字段里就應該記錄 New_add.jsp,News_del.jsp,News.acion 這些值。

          ?

          3 ,那么具體怎么對資源進行控制呢?首先在用戶登陸后,將用戶的所以信息以對象的形式放入 Session 中。如將用戶對象 auser 放入到 session 中,則可用類似

          AdminUser adminuser = (AdminUser) session.getAttribute("auser")

          adminuser.getUserPopedom()

          的方法將該用戶所擁有的權限字符取出來,我們這里取出來的字符會是 New_add.jsp,News_del.jsp,News.acion 。那么在需要做控制的頁面首先利用

          String url = servletRequest.getRequestURI();

          url = url.substring(url.lastIndexOf("/") + 1, url.length());

          取出當前頁的文件名,再將此文件名與該用戶的權限字符做比較,如果該文件名在權限字符中可以找到,則表明該用戶擁有此頁面操作的權限。


          今天先寫到這里,明天把相關代碼給貼出來...

          posted on 2006-04-28 17:39 wake 閱讀(5889) 評論(2)  編輯  收藏

          Feedback

          # re: JSP權限控制(一) 2008-07-18 11:20 大帥

          對于一些的項目 的確是可行之策。 樓主說的好?。。。?明白了。感謝  回復  更多評論   

          # re: JSP權限控制(一) 2013-09-03 17:23 zzhandlyq

          收獲了不少  回復  更多評論   



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


          網站導航:
           
          主站蜘蛛池模板: 防城港市| 天峻县| 延川县| 普安县| 随州市| 远安县| 翁源县| 云浮市| 新田县| 旌德县| 胶州市| 平陆县| 宝鸡市| 德州市| 红桥区| 阿坝县| 新巴尔虎右旗| 巴彦县| 土默特左旗| 塘沽区| 洱源县| 新河县| 罗田县| 康乐县| 宁安市| 克拉玛依市| 句容市| 叙永县| 甘孜县| 夏河县| 合水县| 桑日县| 湟源县| 那坡县| 沅陵县| 盱眙县| 阜新市| 香格里拉县| 铁岭市| 万山特区| 兴山县|