2017-10-07 84 views
0

所以我可能会在这里误解的权利要求的建筑,但如果我想添加特定的部门列表(部门ID),用户可以编辑我可以创建一个要求:如何处理可能具有多个值的索赔?

new Claim("CanEditDepartment", "1")

但扩大上那么,如果用户可以编辑50/100部门,那么我需要50个索赔吗?

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

回答

0

您使用的权利要求不正确。

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

传递大量索赔会减慢一切,并且/或者是不可行的。当你添加更多的部门会发生什么?当您的应用拥有更多权限时会发生什么?你的问题中有JWT标记。你真的想在每个请求中传递如此大的代币吗?