应用授权管理

2017-06-20 10:09:45 +08:00
 wangxiaoer

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

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

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

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

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

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

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

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

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

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

但原则是重要权限需要服务端控制,授权只是个状态,没必要每个行为都检测,只对重要权限检测,次要权限可以由第一次访问的授权状态判断

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/369725

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX