zoukankan      html  css  js  c++  java
  • 关于微服务架构的权限控制初步设计

    关于微服务分布式架构的权限资源设计初步设想

    最近开发的系统是前后端分离+微服务分布式架构,不同于单体应用的权限身份校验机制,前后端分离的情况下,无法直接确认前端请求者的身份权限,需要通过第三方鉴权中心来操作,身份校验较为简单,直接过滤网关级别的请求即可,但是权限校验就比较复杂了。

    初步设想

    资源

    • 系统
    • 菜单
    • 按钮
    • 服务
    • api

    对象

    • 部门
    • 人员
    • 账号

    枢纽

    • 角色

    整体关系如下:对象通过枢纽进行资源的权限分配

    数据库设计:

    通过对中间表的维护,来收集用户的权限信息,其中部门角色具有继承的特性

    使用结果

    菜单权限

    菜单权限通过前端配合实现动态路由,可以实现完全的权限控制,其中按钮的权限主要还是在前端进行逻辑处理,服务端完全无法控制,只能作为数据提供者

    API权限

    API权限,通过上面的权限体系可以做到颗粒度为API级别的控制,功能可以实现

    不足之处:问题在于,这个关系表人工维护的话,成本较大,因为需要明确规定好该页面调用了哪些接口,前端有变更则需要及时录入数据,否则会响应无操作权限,这里的想法是分三步走,

      第一步:首先开发前后端同步开发,前端只维护系统菜单数据,后端维护服务接口数据,菜单接口关系表暂时不进行维护

      第二步:前后端初步开发完毕之后,通过小工具扫描前端代码, 进行菜单接口关系的自动录入

      第三步:通过搭建一个API接入申请系统,有需求变更的时候,前端申请某个页面的需求变更,并对新增的和删除的API进行申报,数据校验完毕之后,申请系统自动异步更新菜单接口关系表,完成两者的动态维护

  • 相关阅读:
    Eclipse安装Hadoop插件
    (转)Ubuntu14.0.4中hadoop2.4.0伪分布模式配置
    Hadoop--DataNode无法启动
    启动与关闭hadoop
    hadoop中执行命令时发生错误
    strings命令
    Deriving data from ElasticSearch Engine
    elasticsearch data importing
    reading words in your computer and changing to female voice, linux festival text2wave saving wav files
    DDNS client on a Linux machine
  • 原文地址:https://www.cnblogs.com/yuchenghao/p/13493704.html
Copyright © 2011-2022 走看看