V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wangxiaoer
V2EX  ›  问与答

应用授权管理

  •  
  •   wangxiaoer · 2017-06-20 10:09:45 +08:00 · 1137 次点击
    这是一个创建于 2721 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司对外提供一堆 web 服务,之前的授权比较混乱,现在想统一起来,最直观看起来有两种思路:

    1 直接修改各个服务,在这些服务里面加上新的、统一的授权逻辑。

    优点:最直观,不影响部署和现有的服务调用者。

    缺点:重复了(即使从软件开发的角度重用授权模块)、而且更新起来比较麻烦(要更新所有应用),而且有所谓的侵入性,同时要求有服务的控制权。

    2 另外提供一个新的验证服务接口,验证通过后转发到其他应用。

    优点:验证逻辑的更新比较简单、快捷,也不影响目前在运行的服务,也不需要修改服务本身。

    缺点:调用者需要修改服务地址、不知道会不会有效率问题。

    第二种方式其实类似 nginx 的负载了,只是加了验证逻辑而已,不知道效率如何。

    大家有没有类似的问题,都是怎么解决的?

    5 条回复    2017-06-20 15:51:39 +08:00
    wangxiaoer
        1
    wangxiaoer  
    OP
       2017-06-20 13:11:00 +08:00
    是发错节点还是问题太 low ?都没人关注?
    imn1
        2
    imn1  
       2017-06-20 13:45:11 +08:00
    肯定是统一调配,必须是中心控制
    wangxiaoer
        3
    wangxiaoer  
    OP
       2017-06-20 15:29:38 +08:00
    中心控制的话涉及到请求的转发,这个效率如何控制?
    wangxiaoer
        4
    wangxiaoer  
    OP
       2017-06-20 15:30:49 +08:00
    @imn1 因为这意味着所有服务的流量全都压到统一的授权端了。感觉 Nodejs 比较适合这种情况。
    imn1
        5
    imn1  
       2017-06-20 15:51:39 +08:00
    @wangxiaoer
    具体怎么做我不是行家,入门都不算,帮你顶帖,哈哈

    但原则是重要权限需要服务端控制,授权只是个状态,没必要每个行为都检测,只对重要权限检测,次要权限可以由第一次访问的授权状态判断
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2808 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 11:57 · PVG 19:57 · LAX 03:57 · JFK 06:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.