權限設計數據庫結構表

核心提示:--權限許可 create table res_permission ( roleid INTEGER , resourceidvarchar2(30), operationid integer , primary key (roleid,resourceid,operationid) ) --角色定義 create table res_role ( roleid INTEGER , rolenamevarchar2(30), roledescvarchar
 
  1. --權限許可      
  2. create table res_permission      
  3. (      
  4.  roleid      INTEGER,      
  5.  resourceid  varchar2(30),      
  6.  operationid integer,      
  7.  primary key(roleid,resourceid,operationid)      
  8. )      
  9.      
  10.      
  11. --角色定義      
  12. create table res_role      
  13. (      
  14.  roleid      INTEGER,      
  15.  rolename    varchar2(30),      
  16.  roledesc    varchar2(100),      
  17.  primary key(roleid)      
  18. )      
  19.      
  20. --角色權限      
  21. create table res_userrole      
  22. (      
  23.  roleid      INTEGER,      
  24.  userid      varchar2(30),--用戶名      
  25.  primary key(roleid,userid)      
  26. )      
  27.      
  28. --資源      
  29. create table res_resource      
  30. (      
  31.  resourceid      varchar2(20),      
  32.  resourcename    varchar2(30),      
  33.  resourcedesc    varchar2(100),      
  34.  primary key(resourceid)      
  35. )      
  36. --操做信息      
  37. create table res_operation      
  38. (      
  39.  operationid      varchar2(20),      
  40.  operationname    varchar2(30),      
  41.  operationdesc    varchar2(100),      
  42.  primary key(operationid)      
  43. )      
  44. --res_operation 表的序列號      
  45. create  sequence   res_operation_seq;      
  46. --res_role 表的序列      
  47. create  sequence   res_role_seq;      
  48. --創建soperationid與sroleid兩個序列分別用來產生Operation表與Role表的ID列      
  49. create sequence soperationid increment by 1 start with 1 nomaxvalue minvalue 1;       
  50. create sequence sroleid increment by 1 start with 1 nomaxvalue minvalue 1;      
  51.   

 

--表設計的原理
--根據交叉法來匹配權限
--1:根據用戶表中的用戶id關聯到res_userrole的userid,而後再關聯到res_role,查出用戶對應的全部權限,存放到list中
--2:根據資源和操做查詢出用戶能夠操做的全部許可res_permission,存放到list中
--3:經過同時遍歷兩個list,查詢出是否存在交叉,若是存在就是有權限,不然爲無權限css

轉載於http://ajava.org/hot/user/11674.htmlhtml

相關文章
相關標籤/搜索