ASP.NET Core 3 实现 IAuthorizationPolicyProvider

mus*_*ium 6 c# authorization asp.net-core

我已将 ASP.NET Core 应用程序的目标框架从 .NET Core 2.2 更改为 3.0。

My app contains a custom auth policy provider (IAuthorizationPolicyProvider) implementation. Since .NET Core 3 the IAuthorizationPolicyProvider interface contains a new method Task<AuthorizationPolicy> GetFallbackPolicyAsync().

What is the difference between Task<AuthorizationPolicy> GetDefaultPolicyAsync(); and Task<AuthorizationPolicy> GetFallbackPolicyAsync(). And how should GetFallbackPolicyAsync be implemented? Should it be implemented like GetDefaultPolicyAsync?

Currently my class implements the GetDefaultPolicyAsync method like this:

public CustomPolicyProvider( [NotNull] IOptions<AuthorizationOptions> options )
    => _fallbackPolicyProvider = new DefaultAuthorizationPolicyProvider( options ?? throw new ArgumentNullException( nameof(options) ) );

public Task<AuthorizationPolicy> GetDefaultPolicyAsync() => _fallbackPolicyProvider.GetDefaultPolicyAsync();
Run Code Online (Sandbox Code Playgroud)

Ren*_*Str 1

来自 dotnet core 3.0/3.1 的文档: learn.microsoft.com

public Task<AuthorizationPolicy> GetFallbackPolicyAsync()
{
    return Task.FromResult<AuthorizationPolicy>(null);
}
Run Code Online (Sandbox Code Playgroud)