【问题标题】:Ocelot gateway support multiple claims in RouteClaimsRequirementOcelot 网关支持 RouteClaimsRequirement 中的多个声明
【发布时间】:2022-05-10 01:11:52
【问题描述】:

目前我们在 .net 核心上的配置看起来像这样 "RouteClaimsRequirement": { "Claim": "settings_read" },

是否可以添加更多声明,如下所示。 "RouteClaimsRequirement": { "Claim": "settings_read,settings_admin" },

否则拥有管理员权限的人最终会收到 403 错误。

【问题讨论】:

    标签: asp.net-core ocelot


    【解决方案1】:

    我们目前正在处理同样的问题。经过彻底调查,我们找到了一套可能的方法。哪种适合您的胃,由您决定。

    正确的方法是在连接到您的系统的客户端上实现 API 范围。根据您的安全风格(我们使用的是 IdS4),这可能很有意义或根本没有意义。

    半正确的方法是在 Ocelot 中实现自定义中间件,将控制逻辑从配置 YAML 转移到 C#。

    不太合适的方法是在 YAML 文件中设置一堆部分,一个用于每个端点、动词、路径等,处理每个自己的声明(单个)值。这个解决方案很糟糕,扩展性很差,我希望无论哪种方式它实际上都失败了。

    我们目前正在讨论前两种方法中哪一种最合适。

    【讨论】:

      猜你喜欢
      • 2020-11-12
      • 2020-06-03
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      • 2017-04-02
      • 2019-09-30
      • 2021-12-11
      • 2018-11-07
      相关资源
      最近更新 更多