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里找到该用户所属组的权限+该用户所拥有角色的权限+自身的权限
    

      

  • 相关阅读:
    [博客美化]给你博客添加一个萌萌的看板娘吧
    精简Command版SqlHelper
    使用VS2017创建EF框架实例
    Ueditor1.4.3.3 asp UTF-8版文件缺失修改方法
    android studio编译包真机安装失败解决方案记录
    ANDROID开发之问题积累及解决方案(四)
    ANDROID开发之问题积累及解决方案(三)
    ANDROID调用webservice带soapheader验证
    ANDROID开发之问题积累及解决方案(二)
    ANDROID开发之问题积累及解决方案(一)
  • 原文地址:https://www.cnblogs.com/shengyu-kmust/p/4519318.html
Copyright © 2011-2022 走看看