oa許可權管理分為:
人員管理
角色管理
模組管理
其實有這樣一些概念:
主體:使用者和角色可以稱為主體。
資源:就是可以進行crud的物件。
許可權:就是對資源的crud操作。
授權:就是對這種許可權的分配。
認證:就是查詢使用者是否有許可權。
使用者和角色的關係是多對多,這共同組成了主體。
模組是資源。
主體和資源的紐帶是acl(訪問控制列表),主體和acl之間是多對多關係,資源和acl之間也是多對多關係。acl裡面就記錄了使用者的許可權。
在資料庫上它就是乙個中間表的作用。
授權是這樣的:
授權分為兩種:
角色授權
對角色統一授權,繼承這種角色的使用者就自動擁有該角色所擁有的許可權,並且許可權分有優先順序,這樣兩種許可權如果之間發生衝突則取高優級。
使用者授權
對使用者進行單獨授權,這種情況必須在不繼承角色的情況下才能生效,並且此時只使用單獨授權的許可權。
每一次授權都是針對特定模組,而不是所有。
搜尋使用者所有授權過程是這樣的:
1、查詢使用者所有角色的許可權,按優先給從低到高,有重複的可以以高優先順序覆蓋。(存入map中,key是資源標識)
2、查詢使用者直接授予的許可權。查詢不繼承的許可權。
3、合併許可權。
4、再從中選擇具體的許可權(crud)。
認證過程是這樣的:
根據使用者標識和資源標識查詢acl例項
有例項:
檢視是否有確定授權
確定:返回授權
不確定(繼承):查詢使用者擁有角色列表,根據角色標識和資源標識查詢acl例項(迴圈)
沒有例項:
查詢使用者擁有角色列表,根據角色標識和資源標識查詢acl例項(迴圈)
(1)crud授權說明:
尚學堂oa系統中acl 中用 int 表示許可權是什麼意思
乙個 int 有32 位,用後4位表示crud 操作,位的取值1或0表示授權或不授權
/**
* acl例項跟主體和資源關聯
* 針對此例項進行授權:某種操作是否允許
* @param permission 只可以取值0,1,2,3
* @param yes true表示允許,false表示不允許
*/public void setpermission(int permission,boolean yes)else
}/**
* 獲得acl授權(獲得c/r/u/d的許可權是否允許或是否確定)
* @param permission c/r/u/d許可權
* @return 授權標識:允許/不允許/不確定
*/public int getpermission(int permission)
int tmp = 1;
tmp = tmp << permission;
//只要c/r/u/d中不全部為沒有許可權(0000),那麼與剛剛傳入的許可權相"&"是不會出現等於0的.
tmp &= aclstate;
if(tmp != 0)
return acl_no;
}
從你上面的意思看
0001為十進位制的1:擁有c許可權;
0010為十進位制的2:擁有r許可權;
0100為十進位制的4:擁有u許可權;
1000為十進位制的8:擁有d許可權;
也就是用最後四位來表示crud的許可權,1表示允許,0表示不允許。
那麼,crud的許可權就是1111,也就是十進位制的15;
減少乙個d操作也就是減少8,為7
如果再加上乙個d操作,那麼就加上8,又為15了.
js刪除元素 尚學堂drp中的問題
今天在學尚學堂drp的時候發現其中有點問題。但是找了半天就是不知道,最後一分析,原來是id重複的問題。主要是那老師的 也是有問題的,但是問題偶爾出現。其核心的js 如下 var rowindex 0 function addonelineonclick function deleterow rowt...
OA選型指南 企業選型OA系統中的價格誤區
oa選型指南 企業選型oa近年來,隨著oa軟體的迅速普及,市場 現了形形色色的oa品牌,並帶來了各樣各式的oa產品。使用者在其中的oa辦公系統中該如何進行選擇?由於主觀或客觀原因,使用者在選擇上就會出現一些誤區。接下來筆者將和各位一起分析 一種較為常見的誤區 誤區。通常來說,誤區主要分成兩類 一類是...
OA系統中的目標管理
一 目標管理的定義 目標是組織存在的前提要素,可以理解為是個人 部門或整個組織所期望的成果。目標需要管理,不然目標只能成為飄在空中的浮雲!所謂目標管理 mbo,management by objective 是指以目標為導向 以績效為標準 以計畫為橋梁 以任務為實現目標的腳印,使組織和個人取得最佳業...