Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/aspnetcore.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Fowler <davidfowl@gmail.com>2022-01-31 19:24:22 +0300
committerDavid Fowler <davidfowl@gmail.com>2022-01-31 19:24:22 +0300
commit045f9f8b409c67b85f4e2bddfd7d6f665fb85e9a (patch)
tree9a385bcf3af7ff0cc58743285c6b076a8b1cc0ef
parentcf929b646c44366bf5e149325d56f25caecdc83c (diff)
-rw-r--r--src/Security/Authorization/Core/src/AuthorizationPolicy.cs23
-rw-r--r--src/Security/Authorization/Core/src/PublicAPI.Unshipped.txt2
-rw-r--r--src/Security/Authorization/test/AuthorizationPolicyFacts.cs2
3 files changed, 21 insertions, 6 deletions
diff --git a/src/Security/Authorization/Core/src/AuthorizationPolicy.cs b/src/Security/Authorization/Core/src/AuthorizationPolicy.cs
index 294a0ba2a3..1942f7fca2 100644
--- a/src/Security/Authorization/Core/src/AuthorizationPolicy.cs
+++ b/src/Security/Authorization/Core/src/AuthorizationPolicy.cs
@@ -104,6 +104,21 @@ public class AuthorizationPolicy
/// </summary>
/// <param name="policyProvider">A <see cref="IAuthorizationPolicyProvider"/> which provides the policies to combine.</param>
/// <param name="authorizeData">A collection of authorization data used to apply authorization to a resource.</param>
+ /// <returns>
+ /// A new <see cref="AuthorizationPolicy"/> which represents the combination of the
+ /// authorization policies provided by the specified <paramref name="policyProvider"/>.
+ /// </returns>
+ public static Task<AuthorizationPolicy?> CombineAsync(IAuthorizationPolicyProvider policyProvider,
+ IEnumerable<IAuthorizeData> authorizeData) => CombineAsync(policyProvider, authorizeData,
+ Enumerable.Empty<AuthorizationPolicy>(),
+ Enumerable.Empty<IAuthorizationRequirement>());
+
+ /// <summary>
+ /// Combines the <see cref="AuthorizationPolicy"/> provided by the specified
+ /// <paramref name="policyProvider"/>.
+ /// </summary>
+ /// <param name="policyProvider">A <see cref="IAuthorizationPolicyProvider"/> which provides the policies to combine.</param>
+ /// <param name="authorizeData">A collection of authorization data used to apply authorization to a resource.</param>
/// <param name="policies">A collection of <see cref="AuthorizationPolicy"/> policies to combine.</param>
/// <param name="requirements">A collection of <see cref="IAuthorizationRequirement"/>s to add to the auth policy.</param>
/// <returns>
@@ -112,8 +127,8 @@ public class AuthorizationPolicy
/// </returns>
public static async Task<AuthorizationPolicy?> CombineAsync(IAuthorizationPolicyProvider policyProvider,
IEnumerable<IAuthorizeData> authorizeData,
- IEnumerable<AuthorizationPolicy>? policies = null,
- IEnumerable<IAuthorizationRequirement>? requirements = null)
+ IEnumerable<AuthorizationPolicy> policies,
+ IEnumerable<IAuthorizationRequirement> requirements)
{
if (policyProvider == null)
{
@@ -125,8 +140,8 @@ public class AuthorizationPolicy
throw new ArgumentNullException(nameof(authorizeData));
}
- var anyPolicies = policies is not null && policies.Any();
- var anyRequirements = requirements is not null && requirements.Any();
+ var anyPolicies = policies.Any();
+ var anyRequirements = requirements.Any();
// Avoid allocating enumerator if the data is known to be empty
var skipEnumeratingData = false;
diff --git a/src/Security/Authorization/Core/src/PublicAPI.Unshipped.txt b/src/Security/Authorization/Core/src/PublicAPI.Unshipped.txt
index c73b2f6624..6fe5d6ca17 100644
--- a/src/Security/Authorization/Core/src/PublicAPI.Unshipped.txt
+++ b/src/Security/Authorization/Core/src/PublicAPI.Unshipped.txt
@@ -1,2 +1,2 @@
#nullable enable
-static Microsoft.AspNetCore.Authorization.AuthorizationPolicy.CombineAsync(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider! policyProvider, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizeData!>! authorizeData, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.AuthorizationPolicy!>? policies = null, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement!>? requirements = null) -> System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy?>!
+static Microsoft.AspNetCore.Authorization.AuthorizationPolicy.CombineAsync(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider! policyProvider, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizeData!>! authorizeData, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.AuthorizationPolicy!>! policies, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement!>! requirements) -> System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy?>!
diff --git a/src/Security/Authorization/test/AuthorizationPolicyFacts.cs b/src/Security/Authorization/test/AuthorizationPolicyFacts.cs
index 9a3a4d78a8..3fb54f893f 100644
--- a/src/Security/Authorization/test/AuthorizationPolicyFacts.cs
+++ b/src/Security/Authorization/test/AuthorizationPolicyFacts.cs
@@ -59,7 +59,7 @@ public class AuthorizationPolicyFacts
var provider = new DefaultAuthorizationPolicyProvider(Options.Create(options));
// Act
- var combined = await AuthorizationPolicy.CombineAsync(provider, attributes, policies);
+ var combined = await AuthorizationPolicy.CombineAsync(provider, attributes, policies, Enumerable.Empty<IAuthorizationRequirement>());
// Assert
Assert.Equal(1, combined.Requirements.Count);