日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一个简易实用的web权限管理模块的应用与实现

發布時間:2025/5/22 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个简易实用的web权限管理模块的应用与实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??? 本文介紹一個簡易實用的web權限管理模塊的應用與實現。

??? 先介紹數據模型和應用界面,后繼對實現細節做選擇性闡述。

??? 數據表關系如下:

??

?

????? 該圖標明了登陸用戶、角色、部門(機構)、用戶組、角色和模塊功能之間的關系。為方便起見,所有表都只保留必要字段。

????? 在本系統設計中,如下概念有著相對特殊的含義。

????? 一、用戶(user): 系統的使用者。

????? 二、部門(org):體現了用戶的行政關系,

????? 三、組(group) :是某相同職能的用戶的集合,可以和用戶一樣與角色產生關聯。設置組的目的是為了方便用戶的角色分配,減少用戶與角色的直接對應關系。用戶的角色可以是其 組角色和其直接分配的角色之合集。限于作者的時間和精力,組功能在該系統中沒有具體的實現。
????? 四、角色(role):角色對應著某些功能(function)的集合,被分配一個角色意味著有權執行這些功能。角色表中的字段"functions"記錄相關的功能id,id之間用逗號隔開。

????? 五、功能(function):系統的一個或者多個執行準入。

????? 那么如何表現“功能”以最終實現控制用戶的每一個細微動作呢?假如不特定于某種架構,可以這么設計該表字段:

Sql代碼 ?
  • CREATE?TABLE??`m2_function`?(??
  • ??`FUNCTION_ID`?int(10)?unsigned?NOT?NULL?AUTO_INCREMENT,??
  • ??`NAME`?varchar(50)?NOT?NULL,??
  • ??`FUNC_TREE_ID`?int(10)?unsigned?NOT?NULL,??
  • ??`RESOURCE`?varchar(100)?NOT?NULL,??
  • ??`SUFFIX`?varchar(50)?NOT?NULL,??
  • ??`DESCRIPTION`?varchar(100)?NOT?NULL,??
  • ??`PARAMS`?varchar(45)?NOT?NULL,??
  • ??PRIMARY?KEY?(`FUNCTION_ID`)??
  • )??DEFAULT?CHARSET=utf8;??
  • ??? 假定有三個web訪問路徑
    ? http://127.0.0.1:8080/app/sys/user.jsp?action=index&userid=1203?
    ??http://127.0.0.1:8080/app/sys/user.yuetong?action=add
    ??http://127.0.0.1:8080/app/sys/user.yuetong?action=update&userid=1203
    ???? 這三個訪問點被人為的劃分為兩個功能準入(當然亦可以是一個或者三個),見下圖?????

    ???

    ???? 由此可知,“功能”是衡量用戶準入的最小刻度。在用戶訪問某個地址的時候,我們可以通過解析URL對比他擁有的“功能”權限來實現權限管理。

    ???? 借助于某些架構或者設計思路,可以避免用戶直接訪問JSP頁面,甚至全系統的訪問地址都使用同一后綴,這種情況下可以省去SUFFIX字段。 本系統就是這種情況(JSP頁面置于WEB-INF下,采用struts2架構)。

    ???? 六、功能模塊樹(function tree):功能的目錄組織,起分類的作用。在為角色設定功能的時候,用戶界面可以利用帶選擇框的js樹。而這顆js樹是后臺的功能樹表以及功能表的聯合 表現形式。功能模塊樹可以方便的與菜單樹建立映射關系,限于作者的時間和精力,該系統并未實現菜單樹。
    ????下面從實際應用入手做直觀的介紹:
    ???? 用超級管理員帳號YT000登陸(該帳號擁有全部的權限,帳號信息應該預先寫入數據庫或者以配置文件方式放到類路徑下):
    ???? 首先是機構管理部分,這里可以編輯某個公司或者單位的組織結構:

    ????

    ???然后進入用戶管理部分,會有一個用戶列表:


    ?? 可以編輯用戶的屬性,設置其所屬機構:

    ?

    ?

    ?? 還可以為用戶設定多個角色:

    ?? 接著,再看看角色的列表:


    ?? 可以為角色設定功能。該角色設定樹的生成,在后繼文章中會有介紹。

    ?

    ?? 最后,在系統資源部分,可以進行功能模塊樹的編輯(和機構樹的編輯一樣)

    ?

    ?? 點擊編輯詳細功能,可以為選中的結點設置具體功能:

    ?

    ?

    ????? 配置妥當以后,當我們以一個普通用戶登錄,執行某個操作的時候,如果沒有權限,系統會做出提示。關于用戶的權限驗證,后繼會有介紹。

    ?

    ???? 相關闡述請關注后繼文章。

    總結

    以上是生活随笔為你收集整理的一个简易实用的web权限管理模块的应用与实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。