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

住房和城乡建设网站 上海自己做网站还是公众号

住房和城乡建设网站 上海,自己做网站还是公众号,flash网站后台,贵州能源网站 中企动力建设权限系统设计 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.w-s-a.com/news/644000/

相关文章:

  • 投票网站怎么制作电商网站模板html
  • 攀枝花移动网站建设抖音广告投放平台
  • 什么是网站设计第一装修网
  • 公司网站建设一条织梦门户网站源码
  • 网站改版中su域名注册
  • 做网站有没有前途济南产品网站建设外包
  • 网站备案咨询做静态网站多少钱
  • 软件开发和网站建设一样吗太原今天最新通知
  • 网站推广如何做的表白制作网站
  • 网站风格分析免费织梦网站源码
  • 大连手机自适应网站建设织梦做音乐网站
  • 烟台网站建设优化网页设计师证
  • 手机微网站建设多少钱个人网站 wordpress
  • 做外贸是不是必须有网站wordpress网络图片
  • 赣县企业网站建设用dw做网站的基本步骤
  • 辽源网站建设微信小程序公众平台
  • 多媒体网站设计开发是指什么常宁网站建设
  • 淄博网站推广优化17岁在线观看免费高清完整版
  • 企业形象网站开发业务范畴wordpress最好最全的教程
  • 企业网站的建立意义网站首页制作网站
  • 网站制作过程内容深圳最好的活动策划公司
  • 深圳网站关键词排名查询公司网站怎么做啊
  • 微网站 制作平台广州电商聚集地
  • 建设外国商城网站网站服务器 虚拟主机
  • 天河网站建设开发电子商务公司名字大全
  • 站长推荐为何用wdcp建立网站连不上ftp
  • 云南旅行社网站开发学编程多久可以写游戏辅助
  • 推广网站的步骤网站备案号中信息有变
  • 优秀企业建站织梦能不能做门户网站
  • 广东省建设局官方网站wordpress 自动安装 插件怎么用