ClaimsAuthorizationManager - 使用请求参数进行授权

时间:2014-03-05 21:30:06

标签: .net asp.net-mvc wif claims-based-identity c#-5.0

我一直在查看ClaimsAuthorizationManager。如果我的索赔如下:

Type = TypeOfEmployeesThatCanBeViewed,Value =“Managers”

然后我用mysite / employees / read / managers浏览了我的MVC控制器。我想看看当前的原则是否有权查看经理。

如何将实际请求参数(即“管理器”)传递给ClaimsAuthorizationManager。我可以看到如何通过AuthorizationContext的Action和Resource属性传递“Read”和“Employers”,而不是参数。

由于

1 个答案:

答案 0 :(得分:4)

Thinktecture IdentityModel助手库是你的朋友。它为基于声明的检查提供了更好的API,然后您可以使用 ClaimsAuthorization.CheckAccess 方法传递任意数量的参数。

因此,您应该在操作方法的最开头添加以下代码行:

ClaimsAuthorization.CheckAccess("Read", "Employees", "Managers");

在您的CheckAccess方法中,您可以从context.Resource集合中获取Employees和Managers参数。

Nuget Package Thinktecture.IdentityModel

here is the documentation