Not*_*bad 5 asp.net-authorization .net-core asp.net-core asp.net-core-webapi
如何实现资源列表的授权?
我看到的所有文档都基于 IAuthorizationService 和 AuthorizeAsync 方法。但这仅适用于一种资源。
我是否应该检索所有资源,然后使用 IAuthorizationService 的 AuthorizeAsync 方法强制检查用户是否有权访问?这看起来非常笨拙、缓慢且低效。
你会怎么做?
我已经在我的几个项目中实现了这一点,除了从数据库中获取所有资源然后对每个资源执行 AuthorizeAsync 之外,您无能为力(据我所知)。
在某些情况下,您可以在数据库中存储资源 ID/用户 ID 的映射表并根据该表进行检查。以这种方式获取项目更容易,无需对每个项目执行 AuthorizeAsync,但它并不适用于每种情况......
关于这个主题有一些问题(例如https://github.com/dotnet/AspNetCore.Docs/issues/10244),但没有解决方案。
| 归档时间: |
|
| 查看次数: |
610 次 |
| 最近记录: |