当前位置: 首页 > wzjs >正文

泰州做企业网站的哪里好北京十大最靠谱it培训机构

泰州做企业网站的哪里好,北京十大最靠谱it培训机构,河南网站建设制作,企业营销型企业网站建设大家好,我是jstart千语。今天给大家介绍一下鉴权模型RBAC,传统的鉴权模式就是基于用户和权限之间的多对多关系。而RBAC就更加的精准,更好管理。 RBAC介绍 RBAC(Role-Based Access Control)是一种通过角色(…

        大家好,我是jstart千语。今天给大家介绍一下鉴权模型RBAC,传统的鉴权模式就是基于用户和权限之间的多对多关系。而RBAC就更加的精准,更好管理。

RBAC介绍

RBAC(Role-Based Access Control)是一种通过角色(Role)关联用户(User)和权限(Permission)的访问控制模型,核心思想是:用户→角色→权限

  • 用户(User):系统的实际使用者,拥有唯一标识。
  • 角色(Role):一组权限的集合,代表用户在系统中的职责(如管理员、普通用户)。
  • 权限(Permission):对系统资源的操作许可(如 “用户查看”、“订单删除”)。
  • 关联关系
    • 用户与角色:多对多(一个用户可拥有多个角色,一个角色可分配给多个用户)。
    • 角色与权限:多对多(一个角色可包含多个权限,一个权限可被多个角色拥有)。

优点:

  • 简化权限管理:通过角色统一管理权限,避免直接对用户逐个授权。
  • 灵活性:新增角色或修改角色权限时,无需逐个调整用户,只需关联角色即可。
  • 职责分离:符合现实中组织架构的职责划分(如财务角色、研发角色)。



库表设计

表名作用核心字段(主键、外键、索引)
sys_user用户表id(主键,自增)、username(唯一)、passwordemail
sys_role角色表id(主键,自增)、role_name(唯一,如 ROLE_ADMIN)、description
sys_permission权限表id(主键,自增)、permission_code(唯一,如 user:view)、permission_nametype(菜单 / 操作权限)
sys_user_role用户角色关联表user_id(外键,关联 sys_user.id)、role_id(外键,关联 sys_role.id)
sys_role_permission角色权限关联表role_id(外键,关联 sys_role.id)、permission_id(外键,关联 sys_permission.id)

 DDL 语句(MySQL 示例)

-- 创建用户表
CREATE TABLE sys_user (id BIGINT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(50) UNIQUE NOT NULL COMMENT '用户名',password VARCHAR(100) NOT NULL COMMENT '密码(加密后)',email VARCHAR(100) COMMENT '邮箱',create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
) ENGINE=InnoDB CHARSET=utf8mb4 COMMENT '用户表';-- 创建角色表
CREATE TABLE sys_role (id BIGINT AUTO_INCREMENT PRIMARY KEY,role_name VARCHAR(50) UNIQUE NOT NULL COMMENT '角色标识(如ROLE_ADMIN)',description VARCHAR(200) COMMENT '角色描述',create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
) ENGINE=InnoDB CHARSET=utf8mb4 COMMENT '角色表';-- 创建权限表(包含菜单和操作权限)
CREATE TABLE sys_permission (id BIGINT AUTO_INCREMENT PRIMARY KEY,permission_code VARCHAR(100) UNIQUE NOT NULL COMMENT '权限标识(如user:view、order:delete)',permission_name VARCHAR(50) NOT NULL COMMENT '权限名称',type TINYINT NOT NULL DEFAULT 0 COMMENT '类型:0=菜单权限,1=操作权限',create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
) ENGINE=InnoDB CHARSET=utf8mb4 COMMENT '权限表';-- 创建用户角色关联表
CREATE TABLE sys_user_role (user_id BIGINT NOT NULL COMMENT '用户ID',role_id BIGINT NOT NULL COMMENT '角色ID',PRIMARY KEY (user_id, role_id),FOREIGN KEY (user_id) REFERENCES sys_user(id) ON DELETE CASCADE,FOREIGN KEY (role_id) REFERENCES sys_role(id) ON DELETE CASCADE
) ENGINE=InnoDB CHARSET=utf8mb4 COMMENT '用户角色关联表';-- 创建角色权限关联表
CREATE TABLE sys_role_permission (role_id BIGINT NOT NULL COMMENT '角色ID',permission_id BIGINT NOT NULL COMMENT '权限ID',PRIMARY KEY (role_id, permission_id),FOREIGN KEY (role_id) REFERENCES sys_role(id) ON DELETE CASCADE,FOREIGN KEY (permission_id) REFERENCES sys_permission(id) ON DELETE CASCADE
) ENGINE=InnoDB CHARSET=utf8mb4 COMMENT '角色权限关联表';



扩展

RBAC - 1

RBAC - 1 在基本 RBAC 模型的基础上引入了角色层次结构的概念。即一个角色可以继承另一个角色的权限,形成类似于树状或有向无环图(DAG)的结构。例如,“高级管理员” 角色可能继承 “普通管理员” 角色的所有权限,并且还拥有额外的权限。这种层次结构使得权限管理更加灵活和高效,能够更好地反映现实组织中的职责和权力关系。


优势

  • 当一个新角色需要继承已有角色的大部分权限时,只需将其置于角色层次结构中合适的位置,而无需重新分配所有权限。
  • 角色层次结构可以确保权限的分配遵循一定的规则和逻辑,减少了权限分配的混乱和错误。
  • 能够准确地反映组织中不同职位之间的上下级关系和权限继承关系。


RBAC - 2(约束型 RBAC)

RBAC - 2 在基本 RBAC 模型基础上,添加了各种约束条件,以增强系统的安全性和合规性。这些约束可以限制用户、角色和权限之间的关系,防止不合理的权限分配和使用。

常见约束类型:

  • 互斥角色约束:某些角色不能同时被一个用户拥有。例如,在财务系统中,“审计员” 和 “财务管理员” 角色是互斥的,因为一个人不能同时既负责审计又负责财务管理,以防止利益冲突和欺诈行为。
  • 基数约束:对用户可拥有的角色数量、角色可分配的用户数量或权限可分配的角色数量进行限制。例如,规定每个项目只能有一个 “项目经理” 角色。
  • 先决条件约束:一个角色必须在用户拥有另一个角色之后才能被分配。比如,用户必须先拥有 “普通员工” 角色,才能被分配 “部门主管” 角色。

 优势

  • 增强安全性:约束条件可以有效防止用户滥用权限,减少内部人员违规操作的风险。
  • 满足合规要求:许多行业有严格的法规和合规要求,RBAC - 2 的约束机制有助于系统满足这些要求,如金融行业的监管要求。
  • 提高系统可靠性:通过约束条件,可以避免不合理的权限分配导致的系统故障和数据不一致问题。

http://www.dtcms.com/wzjs/480152.html

相关文章:

  • 网站建设开发语企业seo外包公司
  • 如何做网站写手北京优化seo排名
  • 做网站需要找什么客户seo zac
  • 在线做venn图网站资阳地seo
  • 怎么找外包公司路由优化大师官网
  • 网站测速茶叶推广软文
  • 做网站编辑好还是推广好友链交易平台源码
  • 网站建设论文源代码市场调研报告模板ppt
  • 专业手机网站建设设计谷歌排名查询
  • 网站规划对网站建设起到什么作用关键词seo资源
  • 东莞黄页顺企网浙江seo技术培训
  • 做一个网站难不难单页站好做seo吗
  • 盘锦网站制作智能优化网站
  • mysql数据库做网站外链屏蔽逐步解除
  • 哪个网站做婚礼邀请函好百家联盟推广部电话多少
  • 国外做农产品有名的网站有哪些广告推广精准引流
  • 关于门户网站建设的整改报告电商网站建设步骤
  • 网站弹窗客服代码百度推广方法
  • 自己怎么做搬家网站济源网络推广
  • 网站建设服seo优化上首页
  • 外贸网站框架青岛网页搜索排名提升
  • wordpress除了首页全是404seo常用方法
  • 做任务领积分兑换别的网站上的会员自己怎么做游戏推广赚钱
  • 厦门网络营销顾问南京关键词优化软件
  • 做医疗的网站简述网站推广的意义和方法
  • 做网站一年了 做个小总结百度seo优化排名客服电话
  • 做php网站开发能赚钱吗百度指数购买
  • 怎么做网站计划百度网站推广
  • 心悦免做卡领取网站什么叫网络营销
  • 网站做细分领域seo研究中心怎么了