我在 Controller 中使用此资源授权:

var result = await _authorizationService.AuthorizeAsync(User, document, operation);

我需要测试我的 Controller ,并且需要通过测试的授权。

我试过了:
_substituteAuthorizationService.AuthorizeAsync(Arg.Any<ClaimsPrincipal>(), null, Arg.Any<IEnumerable<IAuthorizationRequirement>>())
            .ReturnsForAnyArgs(new AuthorizationResult(......));

但我无法创建AuthorizationResult,因为它没有公共(public)构造函数。

有任何想法吗?谢谢!

最佳答案

这里没有太多细节https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.authorization.authorizationresult?view=aspnetcore-2.0

但是您可以从静态方法中返回

AuthorizationResult.Success()
AuthorizationResult.Failed()

关于c# - 如何在.net Core 2.0中模拟IAuthorizationService,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46922341/

10-09 13:43