【问题标题】:How to deal with Claims that could have multiple values?如何处理可能具有多个值的声明?
【发布时间】:2017-10-07 20:28:29
【问题描述】:

所以我可能在这里误解了索赔的架构,但如果我想添加一个用户可以编辑的特定部门(部门 ID)列表,我可以创建一个索赔:

new Claim("CanEditDepartment", "1")

但进一步扩展,如果用户可以编辑 50/100 个部门,我需要 50 个索赔吗?

  • new Claim("CanEditDepartment", "1")
  • new Claim("CanEditDepartment", "2")
  • new Claim("CanEditDepartment", "4")
  • new Claim("CanEditDepartment", "23")

等等

【问题讨论】:

    标签: asp.net asp.net-identity jwt claims-based-identity claims


    【解决方案1】:

    您错误地使用了声明。

    您的声明应代表此人是谁/是什么。然后,您的应用应查看这些声明并将它们映射到权限,这是用户可以对这些声明执行的操作。

    传递大量索赔会减慢一切速度和/或不可行。当您添加更多部门时会发生什么?当您的应用拥有更多权限时会发生什么?您在问题中标记了 JWT。你真的要在每个请求中传递这么大的令牌吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多