声明授权管理器 - 使用请求参数进行授权



我一直在看ClaimsAuthorizationManager。如果我有以下索赔:

类型 = 员工类型可以查看,值 = "经理"

然后我浏览到我的MVC控制器与mysite/employees/read/managers。 我想看看现任校长是否有权查看经理。

如何将实际的请求参数(即"管理器")传递给 ClaimsAuthorizationManager。 我可以看到如何通过授权上下文的操作和资源属性传递"读取"和"雇主",但看不到参数。

谢谢

Thinktecture IdentityModel helper library是你的朋友。它提供了一个更好的API来执行基于声明的检查,然后你可以使用ClaimsAuthorization.CheckAccess方法传递任意数量的参数。

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

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

在 CheckAccess 方法中,您可以从上下文中获取员工和经理参数。资源集合。

Nuget Package Thinktecture.IdentityModel

这是文档

相关内容

  • 没有找到相关文章

最新更新