ACL微服务分析

388 阅读1分钟

实际需求背景

医生下有多个病人的病历访问权限,可以是读,也可以是写,或者是读写。

目前的ACL设计

整个业务的ACL表(示例医院)

typeCode string (医院)

typeStatus string (启用)

typeDesc string (医院的权限acl)

keyNames []Object (医院的一些病人,医生的信息)

  • keyName 李飞
  • keyDesc 医生
  • order 1

RightNames []Object (医院的权限信息,一般是给医生分配,一般是读,写,读写三个权限)

  • rightName 读
  • rightDesc 可以读病人的病历
  • order 1

ACL关系表

这里是按某医生和某病人组合来查看是否有对某些资源的某些权限

keyHash string 医生和病人组合hash

keyValues 比如该病人的手术病历,肛肠科病历,外科病历

  • keyname 肛肠科病历
  • keyvalue 1

rightValues

  • rightname 读
  • rightvalue 1

目前的改造打算

  • 直接做一个链码的调用微服务
  • 直接将acl做一个链码调用微服务