Asp.net core 如何保护特定记录

Asp.net core 如何保护特定记录,asp.net-core,asp.net-identity,identity,claims-based-identity,Asp.net Core,Asp.net Identity,Identity,Claims Based Identity,我们正试图为我们的公司写一个授权程序 我们决定使用 正常的限制非常简单(让特定用户使用特定服务等),但我有一些特殊要求: 我需要根据该用户的声明筛选结果集的记录 例如,我有一项服务,它返回一份在我们公司投资的人的名单,包括他们的详细信息和他们拥有的资金数额。现在,员工不应该能够看到其他员工的详细信息,除非该员工是该员工的直接经理 这意味着->我需要claim属性来说明如何影响结果集,但我无法在网上找到有关如何执行此操作的任何信息。您要查找的内容通常称为细粒度安全性,这是一篇关于使用ASP.N

我们正试图为我们的公司写一个授权程序

我们决定使用

正常的限制非常简单(让特定用户使用特定服务等),但我有一些特殊要求:

  • 我需要根据该用户的声明筛选结果集的记录
例如,我有一项服务,它返回一份在我们公司投资的人的名单,包括他们的详细信息和他们拥有的资金数额。现在,员工不应该能够看到其他员工的详细信息,除非该员工是该员工的直接经理


这意味着->我需要claim属性来说明如何影响结果集,但我无法在网上找到有关如何执行此操作的任何信息。

您要查找的内容通常称为细粒度安全性,这是一篇关于使用ASP.Net和claims执行此操作的文章。此外,它还将引导您获得大量资源

这是一个非常复杂的主题,但它基本上涉及添加过滤器(例如,SQL查询的
WHERE
子句)的优雅有效的方法,以实现行级应用程序安全性