ASP.NET Core,多租户授权策略

时间:2021-02-20 20:47:26

标签: c# asp.net-core asp.net-authorization asp.net-core-security

我正在想办法如何实施授权操作的策略。

这是场景。我有一个用户,该用户归某个组织所有。这个组织有几个资源,包括用户。我公开了一个 REST API,用户可以使用它与组织拥有的其他资源进行交互。因为我可以拥有多个组织,每个组织都有自己的一组资源,所以我必须将用户的访问权限限制为他们所属的组织资源。

在查询数据并检查资源是否归用户所属的组织所有时,我当然可以这样做,但我想要一些其他策略。

我能想到的另一种方法是使用 ActionFilters,但不知何故,我不认为这是一个好习惯。另一个想法是创建我自己的管道(但这意味着端点与路由匹配并且在 ASP.NET 授权范围之外)。我想要的是尝试不要将授权问题与 实际需求问题。也许 ASP 提供的 Authorization 层可以用,但我不知道它是否真的有用,我也不知道如何处理这种情况。

一个简单的流程示例就是这样。用户必须为具有给定 ID 的资源启动一些进程。然后我会有一些像这样的请求模型

public DoSomethingRequest 
{
    public Entity Id { get; set; }
}

用户信息将来自 jwt。

0 个答案:

没有答案