系统角色权限问题

 

  通常“应用模块”和“动作定义”是由系统开发商在系统设计、开发阶段就定义好了,在系统交付给用户使用后就不再对此更改了(当然这也不是绝对的)。 

  权限设计数据库结构表  
 
 --权限许可      
 create table res_permission         
(       

    roleid      INTEGER,    

    resourceid  varchar2(30),      

    operationid integer,       

    primary key(roleid,resourceid,operationid)    

 )                       
 --角色定义    

 create table res_role         (       

     roleid      INTEGER,     

     rolename    varchar2(30),     

     roledesc    varchar2(100),      

     primary key(roleid)      

   )               
 --角色权限      
 create table res_userrole         (       

  roleid      INTEGER,       

  userid      varchar2(30),--用户名       

  primary key(roleid,userid)      

   )             

    --资源      

 create table res_resource         (     

  resourceid      varchar2(20),    

  resourcename    varchar2(30),     

  resourcedesc    varchar2(100),         

  primary key(resourceid)       

 )     

    --操作信息      
 create table res_operation         (      
 

    operationid      varchar2(20),       

    operationname    varchar2(30),      

    operationdesc    varchar2(100),      

    primary key(operationid)     

 )       
 --res_operation 表的序列号    

  
 create  sequence   res_operation_seq;    

     --res_role 表的序列      
 
create  sequence   res_role_seq;       

 --建立soperationid与sroleid两个序列分别用来产生Operation表与Role表的ID列        create sequence soperationid increment by 1 start with 1 nomaxvalue minvalue 1;          create sequence sroleid increment by 1 start with 1 nomaxvalue minvalue 1;         
   
   
--表设计的原理 
--根据交叉法来匹配权限 
--1:根据用户表中的用户id关联到res_userrole的userid,然后再关联到res_role,查出用户对应的所有权限,存放到list中 

--2:根据资源和操作查询出用户可以操作的所有许可res_permission,存放到list中

--3:通过同时遍历两个list,查询出是否存在交叉,如果存在就是有权限,否则为无权限 

 

转载于:https://www.cnblogs.com/zhaojinhui/p/3889988.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值