許可權管理
◆ 需求分析:
該模組是系統中的乙個子模組,它的作用是:
規定登陸該系統的使用者所能做的操作。
當某一使用者登入該系統時,首先需要確定該使用者是以哪種角色或許可權進入該系統的,
系統才可以為該使用者提供哪些對應的服務。
當使用者操作某個模組時,即時認證使用者的增、刪、改、查的操作許可權
該模組下應該包含三個子模組,分別是:
使用者管理、角色管理、許可權管理
涉及到的關鍵字:
a、 使用者(user):用來記錄使用者相關資訊, 使用者要擁有對某種資源的許可權,必須通過角色(role)去關聯
b、 角色(role) : 角色是使用許可權的基本單位,擁有一定數量的許可權,通過角色賦予使用者許可權
c、 許可權 : 許可權指使用者根據角色獲得對程式某些功能的操作,例如對檔案的讀、寫、修改和刪除功能
d、 使用者與角色關係
e、 許可權與角色的關係
◆ 概念設計:
a、 基於rbac模型實現許可權管理(傳統方式)
(即:使用者只能通過角色關聯對應的許可權,不能單獨給使用者賦予許可權)
rbac 基於角色的訪問控制(role base access controller)
角色是一系列許可權的集合,
目的是隔離使用者與許可權,方便授權及認證,
一般而言:乙個使用者可以擁有多個角色,
乙個角色可以授權給多個使用者(多對多關係)
rbac認為許可權控制實質是who, how,what的問題
who 指許可權的擁有者或主體
how 指怎麼授權和認證
what 指需要訪問的資源或許可權(如: 功能模組和crud操作)
缺點:只能通過角色賦予許可權,不能單獨對使用者授權, 角色會越來越多,雜亂
基於rbac模型許可權控制一種域模型設計:
b、採用acl(訪問控制列表) 方式的域模型設計
acl訪問控制列表,既可以對角色授權, 也可以對使用者授權
通過主體id和主體標識來區分使用者或角色
模組id標識資源模組
操作許可權狀態碼通過int型別的二進位制形式表示操作許可權 1有 0 無
綜合上述我們採用, 基於rbac模型,採用acl方式實現許可權控制
acl方式資料庫表設計
◆ 詳細設計
主要實體類的設計:
sysuser, sysrole, sysuserrole, sy**odule, sysacl
daobase提供資料庫訪問:
service物件設計
主要有sysusersservice sysroleservice sy**oduleservice sysaclservice
sysaclservice提供通過二進位制位運算方式(位或與)來授予crud許可權的操作方法
使用位運算的操作acl的操作許可權狀態碼,來完成授權
這樣許可權不僅控制到選單級別,還控制到具體模組的增刪改查的功能級別
主要功能實現
1、 使用者資訊管理
實現功能:顯示使用者資訊, 給使用者分配角色
2、 角色資訊管理
實現給角色授權功能
後面的授權流程(先了解)
Java實習報告
題目 多功能計算器 系別 計算機資訊技術系 班級113102 學號111340 姓名姚志鵬 時間 2013 12 27 目錄前言及問題定義 3 第一章需求分析 3 第二章總體設計 3 2.1系統模組結構圖 3 2.2 系統執行流程圖 3 第三章詳細設計 3 3.1 介面設計模組 3 3.1.1 功能...
java專案總結
專案總結 這是一次比較完整的團隊合作專案,它要求團隊各成員對系統的主體設計搭成一定的共識,這包括資料庫設計,需求分析,以及其它一些細節,因此在編碼之前的準備工作一定要充分。在設計之前,我們兩組對於資料庫的設計進行了激烈的討論,最後在一些關鍵的問題上統一了意見。接下來的工作便是需求分析,具體結構設計,...
java面試心得
給同學幾個建議 1 認真練習耿老師給的那五十道演算法題。2 看清自己的優缺點,多反省自己,做個自信的人。3 平時在學校測試時千萬別無目的無時間觀念地去練,即使是離校後也不能放鬆專業知識的複習,沒有電腦也要在腦子裡多回憶以前寫的那些 公司要的是高效高質的員工,而不是別人20分鐘寫出來的程式你要花1個小...