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

徐闻网站开发公司甘孜州手机网站建设

徐闻网站开发公司,甘孜州手机网站建设,图库素材网站模板,python网站开发集成环境权限系统设计 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.hkea.cn/news/14300324/

相关文章:

  • 永康营销型网站建设注册造价工程师
  • wap网站实例广州做网站 信科便宜
  • 无锡模板建站多少钱做网站的类型
  • 开锁换锁做网站seo排名赚能赚钱吗
  • 潍坊网站开发公司wordpress 上传图片插件
  • 公司设计网站定制怎么做公司
  • 公司创建的法制网站网络整合营销的概念
  • 罗湖网站建设费用怎么取消网站备案
  • 网站虚拟主机共享在线旅游网站建设前的调研
  • 做网站容易吧废橡胶网站建设
  • 游戏网站的设计方案精品成品中韩网站源码免费
  • 手机网站开源系统建设银行网站 购买外汇
  • 建设专业网站哪家比较好长安网站建设推广公司
  • 阜阳网站建设价格低专注网站建设16年
  • 餐饮门户网站 方案怎么做中山家居企业网站建设
  • 网站定制哪儿济南兴田德润怎么联系长沙有哪些网络科技公司
  • 上海市黄页企业名录查询网站seo关键词优化排名
  • 常州承接网站建设网站建设兆金手指科杰
  • 网站建设与制作实验报告wordpress快速插图
  • 建设信息门户网站的条件长沙网站建设大全
  • 台州椒江区热销企业网站搭建网站后台发邮件
  • 萧山区住房和城乡建设局网站万润 营销型网站建设
  • 网站收录方法如何搭建免费网站
  • 北京智能建站系统价格核桃编程加盟费多少钱
  • 江门网站建设咨询做网站的公司有
  • 网站程序设计软件网站推广昔年下拉博客
  • 重庆网站制作济南湖南网页制作公司
  • 网站 js 广告代码大全产品市场推广方案范文
  • 北京海淀网站建设龙之向导外贸网站网址
  • 如何做好一个企业网站深圳专门网站制作