我正在尝试查看ASP.net5中是否有适用于我的应用程序授权的“开箱即用”的内容。我正在使用基于组/权限的授权方法。使用Identity3,我将角色用作组,然后从此创建了权限。每个权限都有一个链接到它的资源和1个或多个值,例如:
资源=页面,权限=添加、更新、查看、删除
另一个复杂之处在于组具有动态名称和动态权限!
我已经开始阅读ASP.net5中的授权相关内容,似乎找到了一些称为策略(Policies)的东西,听起来不错。它似乎强制你使用声明(Claims),如果我使用ClaimsTransformer从数据库中获取所有权限并将它们添加为声明,则可以实现。但是,我是否正确地认为我需要在每个资源上为每个权限创建一个策略?那看起来需要进行很多设置。
ASP.net5中是否有我不知道的任何内容可以使用?比如这样的属性:
[Authorize("Page", "Delete")]
我可以将其添加到PageController的Delete方法中。如果必须使用某种服务并将其注入控制器以实现此目的,那么这也是可以的。