【发布时间】:2023-12-02 17:44:02
【问题描述】:
我正在设计一个新的 ASP.Net CORE 2.1 WebAPI,并试图找出实现满足我们需求的授权系统的最佳方法。我们的角色和权限是数据库驱动的,可以混合和匹配基于角色和个人资源的权限。因此,对于给定的端点,默认访问权限可能是基于角色的(例如仅管理员),但管理员也可以分配单个用户对该端点的访问权限(或相反;并撤销对角色授予的特定资源的访问权限)。因此,每个端点授权都需要一个数据库查询来确定对该资源的有效访问。在我看来,这里需要一个自定义授权过滤器,但许多 MS 文档和其他资源推动基于策略的身份验证,并建议不要“滚动你自己的”。我看不出基于策略的解决方案如何在这里工作,因为它基于静态策略声明。政策能否满足我们的需求,或者自定义身份验证过滤器是否可行?
【问题讨论】:
标签: c# asp.net-core asp.net-core-webapi