一、权限控制(acl,rbac)

将来我们编写的项目主要分成两类:公司内部项目和互联网项目

  • 公司内部项目

使用RBAC-基于角色的访问控制

什么是RBAC?

RBAC  是基于角色的访问控制(Role-Based Access Control )在 RBAC  中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。

举例

比如在公司内部,根据部门划分权限
-用户表:用户和角色多对多关系,
-角色表
-一个角色可能有多个权限----》
-开发角色:拉取代码,上传代码
-财务角色:开工资,招人,开除人
-......
-权限表:角色和权限是多对多
-拉取代码
-上传代码
-部署项目
-开工资
-招人
-开除人
-......
-通过5张表完成rbac控制:用户表,角色表,权限表, 用户角色中间表, 角色权限中间表
-如果某个人,属于财务角色,又只是单独想要拉取代码权限,不要上传代码权限,这时候就需要另外一张表:用户和权限中间表
-通过6张表:django的admin----》后台管理就是使用这套权限认证
用户表,
角色表,
权限表,
用户角色中间表,
角色权限中间表
用户和权限中间表

django-admin就是一个典型的rbac权限管理,这里我们可以用django-admin来体验rbac的权限管理

# django -auth--6张表
auth_user 用户表
auth_group 角色表,组表
auth_permission 权限表
-----------
auth_user_groups 用户和角色中间表
auth_group_permissions 角色和权限中间表
-------------
auth_user_user_permissions 用户和权限中间表 目前流行的一些rbac
# java:若依
# go :gin-vue-admin
# python :django-vue-admin
  • 互联网项目

使用ACL 权限控制

什么是ACL 权限控制?

ACL(Access Control List)访问控制列表的简称,是一个规则列表,用于指定允许或拒绝哪些用户或系统访问特定对象或系统资源,访问控制列表也安装在路由器或交换机中,它们充当过滤器,管理哪些流量可以访问网络。

举例

我们在使用抖音的时候,就是用acl进行管理
-权限:权限表----》 发视频,评论,开直播
-用户表:用户和权限是一对多 张三:[发视频,]
李四:[发视频,评论,开直播]

权限控制(acl,rbac)的更多相关文章

  1. java zookeeper权限控制ACL(digest,IP)

    java zookeeper权限控制ACL(auth,digest,ip) 学习前请参考:https://www.cnblogs.com/zwcry/p/10407806.html zookeeper ...

  2. 图文详解基于角色的权限控制模型RBAC

    我们开发一个系统,必然面临权限控制的问题,即不同的用户具有不同的访问.操作.数据权限.形成理论的权限控制模型有:自主访问控制(DAC: Discretionary Access Control).强制 ...

  3. AngularJS中在前后端分离模式下实现权限控制 - 基于RBAC

    一:RBAC 百科解释: 基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在RBAC中,权限与角色相关联,用 ...

  4. [Kubernetes]基于角色的权限控制之RBAC

    Kubernetes中有很多种内置的编排对象,此外还可以自定义API资源类型和控制器的编写方式.那么,我能不能自己写一个编排对象呢?答案是肯定的.而这,也正是Kubernetes项目最具吸引力的地方. ...

  5. 【Kubernetes】基于角色的权限控制:RBAC

    Kubernetes中所有的API对象,都保存在Etcd里,对这些API对象的操作,一定都是通过访问kube-apiserver实现的,原因是需要APIServer来做授权工作. 在Kubernete ...

  6. Linux中权限控制ACL命令

    很多小伙伴觉得,Linux的权限管理命令不就是chown和chmod命令吗,什么时候有了ACL了? 什么是ACLACL是访问控制列表(Access Control List)的缩写,主要的目的是在提供 ...

  7. Linux系统——ACL权限控制及特殊权限

    ACL权限控制 ACL(access control list),可以提供除属主.属组.其他人的rwx权限之外的细节权限设定 ACL的权限控制 (1)User 使用者 (2)Group 群组 (3)M ...

  8. 基于SpringSecurity实现RBAC权限控制(待完善)

    Spring Security是一个为企业应用系统提供声明式的安全访问控制功能,减少为了企业应用系统安全控制而编写的大量重复代码. 认证: spring security的原理就是使用很多的拦截器对U ...

  9. Kubernetes-16:一文详解ServiceAccount及RBAC权限控制

    一.ServiceAccount 1.ServiceAccount 介绍 首先Kubernetes中账户区分为:User Accounts(用户账户) 和 Service Accounts(服务账户) ...

  10. **CodeIgniter通过hook的方式实现简单的权限控制

    根据自己的实际情况,需要两个文件,一个是权限控制类,Acl,另外一个是权限配置的文件acl.php放在了config这个目录下. Acl这个类放在了application/hook/acl.php.通 ...

随机推荐

  1. 【赵渝强老师】在Hive中使用Load语句加载数据

    一.Hive中load语句的语法说明 Hive Load语句不会在加载数据的时候做任何转换工作,而是纯粹的把数据文件复制/移动到Hive表对应的地址.语法格式如下: LOAD DATA [LOCAL] ...

  2. Python 潮流周刊#71:PyPI 应该摆脱掉它的赞助依赖(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  3. 数据库运维实操优质文章分享(含Oracle、MySQL等) | 2023年4月刊

    本文为大家整理了墨天轮数据社区2023年4月发布的优质技术文章,主题涵盖Oracle.MySQL.PostgreSQL等数据库的基础安装配置.故障处理.性能优化等日常实践操作,以及概念梳理.常用脚本. ...

  4. threejs 几何体的本质 顶点

    几何体的线框模式, 一个正方平面最少可以由4个顶点组成,两个三角形组成(公用了 2个顶点,使用了索引创建顶点属性) . // 导入 threejs import * as THREE from &qu ...

  5. nestjs 登录和验证码结合验证 svgCaptcha 包 session 会话标识

    // ps: 现在用户验证使用 token jwt 了 代替了 session // session 是服务器为每个用户建立的唯一标识 以区分用户 会话标识 // session 是express中的 ...

  6. 云原生周刊:Istio 加入 Phippy 家族 | 2024.3.18

    开源项目推荐 ko "ko" 是一个用于构建和部署 Go 应用程序的简单.快速的容器镜像构建工具.它适用于那些镜像中只包含单个 Go 应用程序且没有或很少依赖于操作系统基础镜像的情 ...

  7. 格点拉格朗日插值与PME算法

    技术背景 在前面的一篇博客中,我们介绍了拉格朗日插值法的基本由来和表示形式.这里我们要介绍一种拉格朗日插值法的应用场景:格点拉格朗日插值法.这种场景的优势在于,如果我们要对整个实数空间进行求和或者积分 ...

  8. C语言之输入输出

    标准库 IO 输入输出功能并非C语言的组成部分,ANSI标准定义了相关的库函数 输入输出 <stdio.h> 流stream是与设备关联的数据的源或者目的地. 文本流:由文本行组成的序列 ...

  9. CentOS_7安装docker

    CentOS_7安装docker Install Docker Engine on CentOS 官网文档:https://docs.docker.com/engine/install/centos/ ...

  10. Git项目提交规范结合Husky + commitlint使用

    一.前置条件 为了更好地 GIT 提交,加入了代码提交规范和规范校验,优雅的提交: 方便团队协作和快速定位问题,采取 Husky + commitlint 辅助项目做约定.  npm install ...