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

荆州北京网站建设商城网站源码大全

荆州北京网站建设,商城网站源码大全,郑州网站seo厂家,怎么知道网站的空间服务商权限系统设计 RBAC 基于角色的访问控制 ABAC 基于属性的访问控制 普通的系统无非 CRUD#xff0c;那系统如何控制一个用户该看到哪些数据、能操作哪些功能#xff1f;日常开发中最常用到 RBAC 和 OAuth2 这两种访问控制和授权方案 RBAC 基于角色的访问控制 所有的访问控制模… 权限系统设计 RBAC 基于角色的访问控制 ABAC 基于属性的访问控制 普通的系统无非 CRUD那系统如何控制一个用户该看到哪些数据、能操作哪些功能日常开发中最常用到 RBAC 和 OAuth2 这两种访问控制和授权方案 RBAC 基于角色的访问控制 所有的访问控制模型实质上都是在解决同一个问题“谁User拥有什么权限Authority去操作Operation哪些资源Resource” 处理这个问题其实并不困难只需要在每个用户进行操作的时候去判断一下他是否有该操作的权限即可简单来说在用户访问接口的时候去判断一下该用户的权限权限不足则拒绝他 这么做虽然简单但是会面临一个问题一但系统的功能变的丰富需要判断的接口、每个接口进行的判断也会成指数倍增加。这么做肯定是不会被接受的我们需要一种解耦手段 RBAC 将权限从用户身上剥离改为绑定到角色Role上将权限控制变为对角色拥有操作哪些资源的许可 角色拥有许可许可是抽象权限的具象化体现权限在 RBAC 系统中的含义是允许何种操作作用于哪些资源之上这句话的具体实例即为许可 提出许可这个概念的目的其实与提出角色的目的是完全一致的只是更为抽象。角色为的是解耦用户与权限之间的多对多关系而许可为的是解耦操作与资源之间的多对多关系譬如不同的数据都能够有增、删、改等操作如果将数据与操作搅和在一起也会面临配置膨胀问题 很多系统借鉴了 RBAC 的思想提取用户为角色用角色来管理用户用许可来管理订单。上面的描述可能有些抽象举个例子 在这个页面中每个模块都可以被视为一种许可。只有有对应许可的角色可以看见这个模块比如有一个角色被称为创作人该角色有内容管理、评论管理的权限用户就可以看见内容管理和评论管理模块 ABAC 基于属性的访问控制 基于属性的访问控制Attribute-Based Access Control简称 ABAC 是一种比 RBAC模型 更加灵活的授权模型它的原理是通过各种属性来动态判断一个操作是否可以被允许。这个模型在云系统中使用的比较多比如 AWS阿里云等 在 ABAC模型 中一个操作是否被允许是基于对象、资源、操作和环境信息共同动态计算决定的 对象对象是当前请求访问资源的用户。用户的属性包括 ID个人资源角色部门和组织成员身份等资源资源是当前用户要访问的资产或对象例如文件数据服务器甚至 API操作操作是用户试图对资源进行的操作。常见的操作包括“读取”“写入”“编辑”“复制”和“删除”环境环境是每个访问请求的上下文。环境属性包含访问的时间和位置对象的设备通信协议和加密强度等 在 ABAC 模型的决策语句的执行过程中决策引擎会根据定义好的决策语句结合对象、资源、操作、环境等因素动态计算出决策结果。每当发生访问请求时ABAC 模型 决策系统都会分析属性值是否与已建立的策略匹配。如果有匹配的策略访问请求就会被通过 举个例子下面是一个超级简单的 ABAC 实现该方法根据 salesClue 中的状态以及用户的 role 来分装操作项 Overridepublic ListOperation buildOperationList(SalesClue salesClue, CrmUserRoleEnum userRoleEnum) {ListOperation ret Lists.newArrayList();ClueStatusEnum status salesClue.getStatus();SaleProgressEnum saleProgress salesClue.getSaleProgress();if (status ClueStatusEnum.PENDING_FOLLOW_UP|| status ClueStatusEnum.IN_PROGRESS|| status ClueStatusEnum.ON_HOLD|| (status ClueStatusEnum.CLOSED !Objects.equals(saleProgress, SaleProgressEnum.PAYMENT_COMPLETED))) {ret.add(Operation.builder().name(OPERATION_TRANSFER).type(Operation.TRANSFER).order(1).build());ret.add(Operation.builder().name(OPERATION_CONTACT_CONSUMER).url(CLUE_DETAIL_URL IDEncoder.encode(salesClue.getId())).type(Operation.TYPE_FORWARD).order(2).build());} else if (status ClueStatusEnum.PENDING_CLAIM) {if (userRoleEnum CrmUserRoleEnum.TEAM_LEADER || userRoleEnum CrmUserRoleEnum.MANAGE) {ret.add(Operation.builder().name(OPERATION_ALLOCATION_SALES).type(Operation.TYPE_ALLOCATION_SALES).order(1).build());}ret.add(Operation.builder().name(OPERATION_CLAIM).type(Operation.CLAIM_CLUE).order(1).build());} else if (status ClueStatusEnum.WAIT_FOR_ALLOCATION) {if (userRoleEnum CrmUserRoleEnum.TEAM_LEADER || userRoleEnum CrmUserRoleEnum.MANAGE) {ret.add(Operation.builder().name(OPERATION_ALLOCATION_SALES).type(Operation.TYPE_ALLOCATION_SALES).order(1).build());}}return ret;}
http://www.zqtcl.cn/news/410650/

相关文章:

  • 临汾住房与城乡建设厅网站迎访问中国建设银行网站_
  • 织梦做的网站首页幻灯片怎么不能显示北大青鸟网站建设课程
  • 做淘客的网站有哪些延安市住建建设网站
  • 南京林业大学实验与建设网站现在都用什么软件搜索附近的人
  • 建站系统wordpress下载亚马逊雨林十大恐怖生物
  • 凡科网做网站怎么样专业团队电影
  • 有什么有趣的网站移动网站排名怎么做
  • 深圳网站建设专家wordpress 4.5下载地址
  • 网站建设公司公司我我提供一个平台wordpress如何去版权信息
  • seo怎么给网站做外链受欢迎的网站建设教程
  • 网站建设使用多语言河南电商网站设计
  • 网站搭建有免费的吗网站地图生成代码
  • 建设公司网站要注意什么投资小利润高的小生意
  • 网站建设需要做哪些工作做胃镜需那好天津津门网站A
  • 做网站申请域名的流程辽宁省工程造价网
  • 网站系统维护一般多长时间金华高端网站设计
  • 做网站公司销售开场白企业网站规划与开发
  • 兰州新区建站不锈钢网站建设
  • 淘宝小网站怎么做的电商网站有哪些
  • 哪些网站可以做画赚钱wordpress go跳转页
  • 怎么做新网站上线通稿深圳罗湖区网站建设公司
  • php 企业网站做网站可以赚钱吗
  • 局域网视频网站建设点播系统长沙3合1网站建设价格
  • 静态网站 服务器合肥做个网站什么价格
  • 宁阳网站设计家电网站设计方案
  • 网站备案icp秦皇岛黄金海岸
  • dedecms 金融类网站模板wordpress dux5.3
  • 学校网站源码wordpress向网站上传文件怎么做
  • 电子商务网站建设说课稿济南网站建设方案报价
  • 谈谈设计和建设网站体会wordpress header在哪