如何处理可能具有多个值的声明?

时间:2017-10-07 20:28:29

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

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

new Claim("CanEditDepartment", "1")

但要扩展一下,如果用户可以编辑50/100部门,我是否需要50个声明呢?

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

1 个答案:

答案 0 :(得分:0)

您使用的声明不正确。

您的声明应代表该人的身份。然后,您的应用应查看这些声明并将其映射到权限,这是用户可以对这些声明执行的操作。

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