34 lines
1.5 KiB
C#
34 lines
1.5 KiB
C#
// Copyright (c) .NET Foundation. All rights reserved.
|
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
|
|
using System.Collections.Generic;
|
|
using System.Security.Claims;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.Framework.Internal;
|
|
|
|
namespace Microsoft.AspNet.Authorization
|
|
{
|
|
/// <summary>
|
|
/// Checks policy based permissions for a user
|
|
/// </summary>
|
|
public interface IAuthorizationService
|
|
{
|
|
/// <summary>
|
|
/// Checks if a user meets a specific set of requirements for the specified resource
|
|
/// </summary>
|
|
/// <param name="user"></param>
|
|
/// <param name="resource"></param>
|
|
/// <param name="requirements"></param>
|
|
/// <returns></returns>
|
|
Task<bool> AuthorizeAsync(ClaimsPrincipal user, object resource, [NotNull] IEnumerable<IAuthorizationRequirement> requirements);
|
|
|
|
/// <summary>
|
|
/// Checks if a user meets a specific authorization policy
|
|
/// </summary>
|
|
/// <param name="user">The user to check the policy against.</param>
|
|
/// <param name="resource">The resource the policy should be checked with.</param>
|
|
/// <param name="policyName">The name of the policy to check against a specific context.</param>
|
|
/// <returns><value>true</value> when the user fulfills the policy, <value>false</value> otherwise.</returns>
|
|
Task<bool> AuthorizeAsync(ClaimsPrincipal user, object resource, [NotNull] string policyName);
|
|
}
|
|
} |