zoukankan      html  css  js  c++  java
  • 权限设计

    一、RBAC模型的权限设计(基于角色的访问控制(Role-Based Access Control))

    参考资料

    扩展RBAC用户角色权限设计方案

    自己参考项目经验和网络资料总结出来的,权限管理源代码参考项目StudyNoteOfCsharp,该项目在完成后我会传到GITHUB上。

    --拥有权限的对象表集
    create table [user]--用户,用户包括了角色
    (
    	[user_id] int identity(1,1) primary key,
    	name varchar(20)
    )
    
    create table role--角色
    (
    	role_id int identity(1,1) primary key,
    	name varchar(20)
    )
    
    create table [group]--组,组包括了用户
    (
    	group_id int identity(1,1) primary key,
    	name varchar(20)
    )
    
    create table user_role--用户所拥有角色表,多对多关系
    (
    	[user_id] int foreign key references [user]([user_id]),
    	role_id int foreign key references [role]([role_id])
    )
    
    create user_group--用户所属组表,多对多关系
    (
    	[user_id] int foreign key references [user]([user_id]),
    	role_id int foreign key references [group]([group_id])
    )
    
    
    
    ----需要用权限来管理的对象,如果菜单,功能,等
    create table menu(--菜单,是否有权限访问或是看到菜单
    id int identity(1,1) primary key,--自增加
    parent_id int,---父菜单
    name varchar(50),--菜单名
    form_url varchar(100),---窗体地址
    sort int,--排序号
    ) 
    
    --功能操作表,如在一个菜单下的调出来的界面上有多个功能操作,只允许某部分功能的权限
    create table operation
    (
    id int identity(1,1) primary key,--功能id
    parent_id int,--父功能id
    name varchar(100),--功能操作名字
    )
    
    
    --权限表,注册各资源、操作、菜单的权限
    create table authority
    (
    id int identity(1,1) primary key,--权限id
    [type] varchar(20),---权限类型,如菜单权限,功能操作权限,建议用表名的字符串做为值
    re_id int,---对应用menu或是operation的id号
    )
    
    
    --对象权限表,管理人员、角色、组的权限
    create table object_authority
    (
    object_type varchar(10),---如对应user,role,group,建议用表名的字符串做为值
    [object_id] int ,---对象user,role,group的id
    authority_id int,--对应authority的id
    )
    --要查看一个人的权限:从object_authority里找到该用户所属组的权限+该用户所拥有角色的权限+自身的权限
    

      

  • 相关阅读:
    技术学到多厉害,才能顺利进入BAT?
    从程序员之死看 IT 人士如何摆脱低情商诅咒
    《wifi加密破解论文》翻译介绍-wifi不再安全
    老司机带你检测相似图片
    ArcGIS水文分析实战教程(15)库容和淹没区计算
    Oracle使用游标查询所有数据表备注
    浅谈矩阵变换——Matrix
    机器学习故事汇-决策树算法
    Catalan数应用整理
    匈牙利算法 cogs 886. [USACO 4.2] 完美的牛栏
  • 原文地址:https://www.cnblogs.com/shengyu-kmust/p/4519318.html
Copyright © 2011-2022 走看看