有没有办法在 ASPNET 5 MVC 6 中进行细粒度访问控制
Is there a way to do fine grained access control in ASPNET 5 MVC 6
ASPNET 5 中的新授权属性似乎涵盖了具有良好课程访问控制的简单应用程序。但是如何将它与 10 多个具有 CRUD 操作的控制器一起使用呢?
为所有调用添加策略是否正确,因为无法将所需的声明传递给策略?
看起来这个列表将无法管理和混淆 ConfigureService 方法。
您可以编写需要声明及其价值的保单;
services.AddAuthorization(options =>
{
options.AddPolicy("RequireRead",
policy => policy.RequireClaim("DocumentPermission", "Read"));
}
这取决于您如何为声明值建模。如果您有一个声明值,例如,"CRUD" 表示用户已创建、读取、更新和删除该特定声明,那么您将不得不编写自己的要求和处理程序。
ASPNET 5 中的新授权属性似乎涵盖了具有良好课程访问控制的简单应用程序。但是如何将它与 10 多个具有 CRUD 操作的控制器一起使用呢? 为所有调用添加策略是否正确,因为无法将所需的声明传递给策略? 看起来这个列表将无法管理和混淆 ConfigureService 方法。
您可以编写需要声明及其价值的保单;
services.AddAuthorization(options =>
{
options.AddPolicy("RequireRead",
policy => policy.RequireClaim("DocumentPermission", "Read"));
}
这取决于您如何为声明值建模。如果您有一个声明值,例如,"CRUD" 表示用户已创建、读取、更新和删除该特定声明,那么您将不得不编写自己的要求和处理程序。