C# 如何授予对特定资源的访问权限?
问题: 我有一组信息,一些用户必须通过我的Web应用程序访问这些信息。假设我有相同类型T的资源A、B、C,用户是X、Y、Z。业务声明用户可以访问这些资源,如下表所示 用户->资源C# 如何授予对特定资源的访问权限?,c#,.net,rest,authorization,asp.net-web-api,C#,.net,Rest,Authorization,Asp.net Web Api,问题: 我有一组信息,一些用户必须通过我的Web应用程序访问这些信息。假设我有相同类型T的资源A、B、C,用户是X、Y、Z。业务声明用户可以访问这些资源,如下表所示 用户->资源 X->A Y->A C Z->abc 现实世界的例子如下: 用户X可以看到洛杉矶的所有超市 用户Y可以看到洛杉矶和芝加哥的所有超市 用户Z可以看到洛杉矶、芝加哥和纽约的所有超市 另一件需要提及的事情是,在任何时候,用户X也可以被授予从纽约观看大型超市的权限 问题: 如何实现授权系统,使其允许我向用户授予对特定资源集
X->A
Y->A C
Z->abc
现实世界的例子如下:
- 用户X可以看到洛杉矶的所有超市
- 用户Y可以看到洛杉矶和芝加哥的所有超市
- 用户Z可以看到洛杉矶、芝加哥和纽约的所有超市
但是,即使这种解决方案也不适合我的业务,因为在我的代码中,我必须有一个名为
GetAllHypermarkets
的函数,该函数不带任何参数,它将返回用户可以看到的所有超级市场。例如,对于用户X,它将只返回来自洛杉矶的大型超市。我如何才能实现这一点?有许多有趣的术语可以帮助您:
- 基于属性的访问控制
- 基于策略的访问控制
- 风险自适应访问控制
- 基于情境的访问控制