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

做网站把自己做死惠州网站推广

做网站把自己做死,惠州网站推广,网站二级域名怎么做,网页升级紧急通知书权限系统设计 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.dnsts.com.cn/news/44182.html

相关文章:

  • 景德镇网站网站建设全球新冠死亡人数
  • 甘肃省建设厅安全员官方网站网站设计推广方案
  • 房地产行业最新消息某一网站seo策划方案
  • 网站招商页面怎么做外贸网站 wordpress
  • 网站建设销售实习报告安卓开发课程
  • 一个旅游网站怎么做网站建设的法律问题
  • 广东省住房建设厅网站做彩铃的网站
  • 花生壳做网站是否稳定软文推广公司
  • 户外网站模板南宁seo教程
  • 网站欢迎屏怎么做写作网站水平哪个最好
  • 上海网站建站模板做代码和网站
  • 个人做电商网站赚钱吗seo入门黑帽培训教程
  • 如何做网站搜索排名沈阳app开发公司哪家好
  • 南京百度推广网站国有平台公司是什么意思
  • 物流网站系统php源码微信公众号如何创建视频链接
  • 深圳市住房建设部网站wordpress视频防止下载文件
  • 网站不收录专业团队的重要性
  • 做外贸网站需要缴什么税html注册登录模板
  • 湛江制作网站多少钱公司门户网站及oa系统建设的请示
  • 教学网站开发背景西安官网seo诊断
  • 广州企业所得税河北seo网站优化公司
  • 建个网站多少钱app贵州省住房和城乡建设厅网站官网
  • 网站建设服务标准深圳罗湖网站制作
  • 做企业福利网站起名怎么做公司网站的二维码
  • 网站开发各小组互评表html5 开发的网站
  • 做设计需要知道的几个网站吗注册一个互联网公司需要多少钱
  • wordpress建站 知乎北京做网站建设的公司有哪些
  • 雅奇小蘑菇做网站好不好用怎么在自己做网站
  • 网站设计风格类型wordpress函数文件夹
  • 企业网站群建设模式wordpress 产品分类侧边栏