asp.net-core - 服务间调用中的权限处理。(微服务)
问题描述
我被分配了一项任务,以找出处理服务间通信授权的最佳实践,我浏览了很多互联网文章,但不幸的是到目前为止还没有运气。
用例 - 如果它是一个服务间调用并且如果它是一个客户端调用它应该按原样工作(即启用权限检查),则要求是禁用权限检查(授权)。
绝望地等待上帝之手帮助我解决这个问题。
谢谢和问候,C.
解决方案
我实际上正在处理与您的用例非常相似的事情,其中我有从主应用程序客户端到我的前端服务的 API 调用,我有我的后台客户端 API 用于配置和实时操作管理,我有我的内部微服务生态系统通信彼此。
我可以推荐的最好方法是有一个专门的地方来发行令牌(推荐 JWT 令牌)。您可以在您的令牌中构建权限/角色检查机制。然后,您将能够轻松地在您的微服务生态系统中传播这些令牌,并且每个服务都可以验证其内部的令牌和角色以允许访问。
我不喜欢通用服务间权限的想法,因为您基本上说您要么拥有访问权限(无论用户是谁以及他拥有什么级别的访问权限),你在现实生活中的哪个位置即使在下游服务中,您也可能会限制访问某些 API 或特定 API 上的某些信息。
推荐阅读
- android - 为什么 volley 库不能在 android 9(API 28)上运行,而它在 android 8(API 27)上运行良好?
- hyperledger-fabric - 链码对等体重新启动
- docker - 加入从节点并添加 cni 后从节点未准备好但主节点已准备好
- c# - 文本上的垂直对齐未正确对齐
- angular - 最初将 Angular2-DatePicker 设置为空
- performance - 以编程方式禁用游戏对象与禁用脚本
- fonts - 如何在应用到 fabricJS 中的 IText 之前加载自定义字体?
- flask - 使用 Agora.io 互动直播
- ios - iOS 应用程序在登录/注册时提交被拒绝
- asp.net - 使用 Asp.net ajax 在文本框中不显示数据