如何检查ASP Core中的类授权?

时间:2018-04-13 18:13:53

标签: c# asp.net-core authorization

我正在尝试访问课程中的IAuthorizationService,但无法弄清楚如何。

这是我想要做的事情。

我有一个带有导航项的JSON文件以及附加到它们的安全策略的名称。我想验证用户是否有权访问该策略,以了解是否显示或隐藏该项目。

我怎样才能注入这些内容,以便我可以访问它来执行以下操作:

await (IAuthorizationService).AuthorizeAsync(user, PolicyName).Succeeded

1 个答案:

答案 0 :(得分:3)

您应该使用DI注册您的课程并对IAuthorizationService采用构造函数依赖关系,以便将其注入您的班级

public YourClassConstructor(IAuthorizationService authService)
{
   _authService = authService;
}

private IAuthorizationService _authService;

public async Task SomeMethod()
{
    var result = await _authService.AuthorizeAsync(user, PolicyName);
    if(result.Succeeded) 
    {
       //...
    }
}

然后您需要等待结果返回才能检查.Succeeded