ASPNET 5中的新授权属性似乎涵盖了课程访问控制正常的简单应用程序。但是如何使用10多个带CRUD操作的控制器呢? 为所有呼叫添加策略是否正确,因为无法将所需的声明传递给策略? 看来这个列表无法管理和混乱ConfigureService方法。
答案 0 :(得分:0)
您可以编写需要声明及其值的政策;
services.AddAuthorization(options =>
{
options.AddPolicy("RequireRead",
policy => policy.RequireClaim("DocumentPermission", "Read"));
}
这取决于您对索赔值进行建模的方式。如果您的索赔值为,例如,“CRUD”表示用户已为该特定索赔创建,读取,更新和删除,那么您将必须编写自己的要求和处理程序。