java許可權管理

2021-03-04 09:59:06 字數 1548 閱讀 8015

許可權管理

◆ 需求分析:

該模組是系統中的乙個子模組,它的作用是:

規定登陸該系統的使用者所能做的操作。

當某一使用者登入該系統時,首先需要確定該使用者是以哪種角色或許可權進入該系統的,

系統才可以為該使用者提供哪些對應的服務。

當使用者操作某個模組時,即時認證使用者的增、刪、改、查的操作許可權

該模組下應該包含三個子模組,分別是:

使用者管理、角色管理、許可權管理

涉及到的關鍵字:

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個小...