比如要createforum,那麼jive就會這麼做:
大體上的思路是,用**模式,本來forumfactory 是沒有許可權的相關方法和屬性的,那麼,就把這些功能**給forumfactoryproxy ,這樣就把任務分開了!
public class forumfactoryproxy extends forumfactory else
}......
}
就是這一句:
if (permissions.get(forumpermissions.system_admin);); else
其中permissions是該**類的乙個屬性,是在forumfactory.getinstance中建立變數的最後乙個引數。
該引數是這麼得到的:
dbforumfactory.getpermissions(authorization authorizaton);
所以,得到乙個許可權是和使用者的userid聯絡起來的,而userid在系統中是由 authorization類來包裝的
所以在
permissionsmanager.getfinaluserperms(-1, userid);;
中,應該查詢到資料庫層,來對使用者的許可權進行進一步的處理!
userperm (
forumid
userid
usertype
permission
);;userid(usertype ,userid );
兩個表是多對多關係
返回了乙個包裝了許可權陣列的類forumpermissions
陣列permissions中各個元素的意義如下:
boolean read; p[0]
boolean systemadmin; p[1]
boolean forumadmin; p[2]
boolean useradmin; p[3]
boolean groupadmin; p[4]
boolean moderatethreads; p[5]
boolean createthread; p[6]
boolean createmessage; p[7]
boolean moderatemessages; p[8]
比如要新增乙個對各個論壇都有管理員許可權systemadmin
insert into userperm(forumid,userid,usertype,permission)
values (null,1,3,1);
其中第三位usertype有以下三種:
匿名使用者,遊客,註冊使用者
分別是 11 ,12, 3
既然許可權都建立了,下面許可權的檢查就不是一件難事了~~;
//就本例來說,建立論壇當然要管理員的許可權,所以**如下:
permissions.get(forumpermissions.system_admin););
return values[type];
}
Linux中的許可權管理
檔案的 ugo 許可權是 linux 進行許可權管理的基本方式 檔案的所有者和組 linux檔案的訪問者劃分為三種 所有者 組和其他人。ugo 就是指 user group 和 other三個單詞的首字母組合。許可權物件 u 屬主 g 屬組 o 其他人 許可權型別 讀 r 4 寫 w 2 執行 x ...
Linux中許可權管理
linux中許可權有三大塊 屬主 屬組 其他。rwx 在linux中的許可權另一種表示方式是通過資料0 7表示。許可權中的每一位數字對應字母的三位。r w x 4 2 1 0 如需將abc.txt檔案的許可權修改為777 chmod 777 abc.txt 如為abc.txt檔案增加乙個屬主寫的許可...
Linux中許可權管理
linux中許可權有三大塊 屬主 屬組 其他。rwx 在linux中的許可權另一種表示方式是通過資料0 7表示。許可權中的每一位數字對應字母的三位。r w x 4 2 1 0 如需將abc.txt檔案的許可權修改為777 chmod 777 abc.txt 如為abc.txt檔案增加乙個屬主寫的許可...