| File: DefaultAuthorizationHandlerProvider.cs | Web Access |
| Project: src\aspnetcore\src\Security\Authorization\Core\src\Microsoft.AspNetCore.Authorization.csproj (Microsoft.AspNetCore.Authorization) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Shared; namespace Microsoft.AspNetCore.Authorization; /// <summary> /// The default implementation of a handler provider, /// which provides the <see cref="IAuthorizationHandler"/>s for an authorization request. /// </summary> public class DefaultAuthorizationHandlerProvider : IAuthorizationHandlerProvider { private readonly Task<IEnumerable<IAuthorizationHandler>> _handlersTask; /// <summary> /// Creates a new instance of <see cref="DefaultAuthorizationHandlerProvider"/>. /// </summary> /// <param name="handlers">The <see cref="IAuthorizationHandler"/>s.</param> public DefaultAuthorizationHandlerProvider(IEnumerable<IAuthorizationHandler> handlers) { ArgumentNullThrowHelper.ThrowIfNull(handlers); _handlersTask = Task.FromResult(handlers); } /// <inheritdoc /> public Task<IEnumerable<IAuthorizationHandler>> GetHandlersAsync(AuthorizationHandlerContext context) => _handlersTask; }