Annotate Authorization.Core, Authorization.Policy with nullable (#22990)
Contributes to https://github.com/dotnet/aspnetcore/issues/5680
This commit is contained in:
parent
a173be28fb
commit
f3b370c1ac
|
|
@ -35,13 +35,14 @@
|
||||||
The code block that follows sets it up so projects in this repo that target ns2.0 or netfx can compile when Nullable is configured.
|
The code block that follows sets it up so projects in this repo that target ns2.0 or netfx can compile when Nullable is configured.
|
||||||
Based on https://github.com/dotnet/runtime/blob/93b6c449d4f31ddd7d573d1d3769e681d5ebceb9/src/libraries/Directory.Build.targets#L215-L222
|
Based on https://github.com/dotnet/runtime/blob/93b6c449d4f31ddd7d573d1d3769e681d5ebceb9/src/libraries/Directory.Build.targets#L215-L222
|
||||||
-->
|
-->
|
||||||
<When Condition="'$(Nullable)' != '' AND ('$(TargetFramework)' == 'netstandard2.0' OR '$(TargetFrameworkIdentifier)' == '.NETFramework')">
|
<When Condition="'$(Nullable)' != '' AND ('$(TargetFrameworkIdentifier)' == '.NETStandard' OR '$(TargetFrameworkIdentifier)' == '.NETFramework')">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<DefineConstants>$(DefineConstants),INTERNAL_NULLABLE_ATTRIBUTES</DefineConstants>
|
<DefineConstants>$(DefineConstants),INTERNAL_NULLABLE_ATTRIBUTES</DefineConstants>
|
||||||
</PropertyGroup>
|
<NoWarn>$(NoWarn);nullable</NoWarn>
|
||||||
<ItemGroup>
|
</PropertyGroup>
|
||||||
<Compile Include="$(SharedSourceRoot)Nullable\NullableAttributes.cs" />
|
<ItemGroup>
|
||||||
</ItemGroup>
|
<Compile Include="$(SharedSourceRoot)Nullable\NullableAttributes.cs" />
|
||||||
|
</ItemGroup>
|
||||||
</When>
|
</When>
|
||||||
</Choose>
|
</Choose>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFrameworks>netstandard2.0;$(DefaultNetCoreTargetFramework)</TargetFrameworks>
|
<TargetFrameworks>netstandard2.0;$(DefaultNetCoreTargetFramework)</TargetFrameworks>
|
||||||
<TargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">$(DefaultNetCoreTargetFramework)</TargetFrameworks>
|
<TargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">$(DefaultNetCoreTargetFramework)</TargetFrameworks>
|
||||||
|
<Nullable>annotations</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
|
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
|
||||||
<Compile Include="Microsoft.AspNetCore.Authorization.netstandard2.0.cs" />
|
<Compile Include="Microsoft.AspNetCore.Authorization.netstandard2.0.cs" />
|
||||||
|
|
|
||||||
|
|
@ -18,12 +18,12 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
}
|
}
|
||||||
public partial class AuthorizationHandlerContext
|
public partial class AuthorizationHandlerContext
|
||||||
{
|
{
|
||||||
public AuthorizationHandlerContext(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements, System.Security.Claims.ClaimsPrincipal user, object resource) { }
|
public AuthorizationHandlerContext(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements, System.Security.Claims.ClaimsPrincipal user, object? resource) { }
|
||||||
public virtual bool HasFailed { get { throw null; } }
|
public virtual bool HasFailed { get { throw null; } }
|
||||||
public virtual bool HasSucceeded { get { throw null; } }
|
public virtual bool HasSucceeded { get { throw null; } }
|
||||||
public virtual System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> PendingRequirements { get { throw null; } }
|
public virtual System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> PendingRequirements { get { throw null; } }
|
||||||
public virtual System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> Requirements { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public virtual System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> Requirements { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public virtual object Resource { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public virtual object? Resource { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public virtual System.Security.Claims.ClaimsPrincipal User { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public virtual System.Security.Claims.ClaimsPrincipal User { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public virtual void Fail() { }
|
public virtual void Fail() { }
|
||||||
public virtual void Succeed(Microsoft.AspNetCore.Authorization.IAuthorizationRequirement requirement) { }
|
public virtual void Succeed(Microsoft.AspNetCore.Authorization.IAuthorizationRequirement requirement) { }
|
||||||
|
|
@ -46,11 +46,11 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
{
|
{
|
||||||
public AuthorizationOptions() { }
|
public AuthorizationOptions() { }
|
||||||
public Microsoft.AspNetCore.Authorization.AuthorizationPolicy DefaultPolicy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
public Microsoft.AspNetCore.Authorization.AuthorizationPolicy DefaultPolicy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
||||||
public Microsoft.AspNetCore.Authorization.AuthorizationPolicy FallbackPolicy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
public Microsoft.AspNetCore.Authorization.AuthorizationPolicy? FallbackPolicy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
||||||
public bool InvokeHandlersAfterFailure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
public bool InvokeHandlersAfterFailure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
||||||
public void AddPolicy(string name, Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy) { }
|
public void AddPolicy(string name, Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy) { }
|
||||||
public void AddPolicy(string name, System.Action<Microsoft.AspNetCore.Authorization.AuthorizationPolicyBuilder> configurePolicy) { }
|
public void AddPolicy(string name, System.Action<Microsoft.AspNetCore.Authorization.AuthorizationPolicyBuilder> configurePolicy) { }
|
||||||
public Microsoft.AspNetCore.Authorization.AuthorizationPolicy GetPolicy(string name) { throw null; }
|
public Microsoft.AspNetCore.Authorization.AuthorizationPolicy? GetPolicy(string name) { throw null; }
|
||||||
}
|
}
|
||||||
public partial class AuthorizationPolicy
|
public partial class AuthorizationPolicy
|
||||||
{
|
{
|
||||||
|
|
@ -60,7 +60,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
public static Microsoft.AspNetCore.Authorization.AuthorizationPolicy Combine(params Microsoft.AspNetCore.Authorization.AuthorizationPolicy[] policies) { throw null; }
|
public static Microsoft.AspNetCore.Authorization.AuthorizationPolicy Combine(params Microsoft.AspNetCore.Authorization.AuthorizationPolicy[] policies) { throw null; }
|
||||||
public static Microsoft.AspNetCore.Authorization.AuthorizationPolicy Combine(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> policies) { throw null; }
|
public static Microsoft.AspNetCore.Authorization.AuthorizationPolicy Combine(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> policies) { throw null; }
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||||
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> CombineAsync(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider policyProvider, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizeData> authorizeData) { throw null; }
|
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy?> CombineAsync(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider policyProvider, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizeData> authorizeData) { throw null; }
|
||||||
}
|
}
|
||||||
public partial class AuthorizationPolicyBuilder
|
public partial class AuthorizationPolicyBuilder
|
||||||
{
|
{
|
||||||
|
|
@ -85,7 +85,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
public partial class AuthorizationResult
|
public partial class AuthorizationResult
|
||||||
{
|
{
|
||||||
internal AuthorizationResult() { }
|
internal AuthorizationResult() { }
|
||||||
public Microsoft.AspNetCore.Authorization.AuthorizationFailure Failure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public Microsoft.AspNetCore.Authorization.AuthorizationFailure? Failure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public bool Succeeded { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public bool Succeeded { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public static Microsoft.AspNetCore.Authorization.AuthorizationResult Failed() { throw null; }
|
public static Microsoft.AspNetCore.Authorization.AuthorizationResult Failed() { throw null; }
|
||||||
public static Microsoft.AspNetCore.Authorization.AuthorizationResult Failed(Microsoft.AspNetCore.Authorization.AuthorizationFailure failure) { throw null; }
|
public static Microsoft.AspNetCore.Authorization.AuthorizationResult Failed(Microsoft.AspNetCore.Authorization.AuthorizationFailure failure) { throw null; }
|
||||||
|
|
@ -94,7 +94,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
public static partial class AuthorizationServiceExtensions
|
public static partial class AuthorizationServiceExtensions
|
||||||
{
|
{
|
||||||
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy) { throw null; }
|
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy) { throw null; }
|
||||||
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, object resource, Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy) { throw null; }
|
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, object? resource, Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy) { throw null; }
|
||||||
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, object resource, Microsoft.AspNetCore.Authorization.IAuthorizationRequirement requirement) { throw null; }
|
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, object resource, Microsoft.AspNetCore.Authorization.IAuthorizationRequirement requirement) { throw null; }
|
||||||
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, string policyName) { throw null; }
|
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, string policyName) { throw null; }
|
||||||
}
|
}
|
||||||
|
|
@ -103,9 +103,9 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
{
|
{
|
||||||
public AuthorizeAttribute() { }
|
public AuthorizeAttribute() { }
|
||||||
public AuthorizeAttribute(string policy) { }
|
public AuthorizeAttribute(string policy) { }
|
||||||
public string AuthenticationSchemes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
public string? AuthenticationSchemes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
||||||
public string Policy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
public string? Policy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
||||||
public string Roles { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
public string? Roles { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
||||||
}
|
}
|
||||||
public partial class DefaultAuthorizationEvaluator : Microsoft.AspNetCore.Authorization.IAuthorizationEvaluator
|
public partial class DefaultAuthorizationEvaluator : Microsoft.AspNetCore.Authorization.IAuthorizationEvaluator
|
||||||
{
|
{
|
||||||
|
|
@ -115,7 +115,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
public partial class DefaultAuthorizationHandlerContextFactory : Microsoft.AspNetCore.Authorization.IAuthorizationHandlerContextFactory
|
public partial class DefaultAuthorizationHandlerContextFactory : Microsoft.AspNetCore.Authorization.IAuthorizationHandlerContextFactory
|
||||||
{
|
{
|
||||||
public DefaultAuthorizationHandlerContextFactory() { }
|
public DefaultAuthorizationHandlerContextFactory() { }
|
||||||
public virtual Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext CreateContext(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements, System.Security.Claims.ClaimsPrincipal user, object resource) { throw null; }
|
public virtual Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext CreateContext(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements, System.Security.Claims.ClaimsPrincipal user, object? resource) { throw null; }
|
||||||
}
|
}
|
||||||
public partial class DefaultAuthorizationHandlerProvider : Microsoft.AspNetCore.Authorization.IAuthorizationHandlerProvider
|
public partial class DefaultAuthorizationHandlerProvider : Microsoft.AspNetCore.Authorization.IAuthorizationHandlerProvider
|
||||||
{
|
{
|
||||||
|
|
@ -126,16 +126,16 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
{
|
{
|
||||||
public DefaultAuthorizationPolicyProvider(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Authorization.AuthorizationOptions> options) { }
|
public DefaultAuthorizationPolicyProvider(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Authorization.AuthorizationOptions> options) { }
|
||||||
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetDefaultPolicyAsync() { throw null; }
|
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetDefaultPolicyAsync() { throw null; }
|
||||||
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetFallbackPolicyAsync() { throw null; }
|
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy?> GetFallbackPolicyAsync() { throw null; }
|
||||||
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetPolicyAsync(string policyName) { throw null; }
|
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy?> GetPolicyAsync(string policyName) { throw null; }
|
||||||
}
|
}
|
||||||
public partial class DefaultAuthorizationService : Microsoft.AspNetCore.Authorization.IAuthorizationService
|
public partial class DefaultAuthorizationService : Microsoft.AspNetCore.Authorization.IAuthorizationService
|
||||||
{
|
{
|
||||||
public DefaultAuthorizationService(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider policyProvider, Microsoft.AspNetCore.Authorization.IAuthorizationHandlerProvider handlers, Microsoft.Extensions.Logging.ILogger<Microsoft.AspNetCore.Authorization.DefaultAuthorizationService> logger, Microsoft.AspNetCore.Authorization.IAuthorizationHandlerContextFactory contextFactory, Microsoft.AspNetCore.Authorization.IAuthorizationEvaluator evaluator, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Authorization.AuthorizationOptions> options) { }
|
public DefaultAuthorizationService(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider policyProvider, Microsoft.AspNetCore.Authorization.IAuthorizationHandlerProvider handlers, Microsoft.Extensions.Logging.ILogger<Microsoft.AspNetCore.Authorization.DefaultAuthorizationService> logger, Microsoft.AspNetCore.Authorization.IAuthorizationHandlerContextFactory contextFactory, Microsoft.AspNetCore.Authorization.IAuthorizationEvaluator evaluator, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Authorization.AuthorizationOptions> options) { }
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||||
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object resource, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements) { throw null; }
|
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object? resource, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements) { throw null; }
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||||
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object resource, string policyName) { throw null; }
|
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object? resource, string policyName) { throw null; }
|
||||||
}
|
}
|
||||||
public partial interface IAuthorizationEvaluator
|
public partial interface IAuthorizationEvaluator
|
||||||
{
|
{
|
||||||
|
|
@ -147,7 +147,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
}
|
}
|
||||||
public partial interface IAuthorizationHandlerContextFactory
|
public partial interface IAuthorizationHandlerContextFactory
|
||||||
{
|
{
|
||||||
Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext CreateContext(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements, System.Security.Claims.ClaimsPrincipal user, object resource);
|
Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext CreateContext(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements, System.Security.Claims.ClaimsPrincipal user, object? resource);
|
||||||
}
|
}
|
||||||
public partial interface IAuthorizationHandlerProvider
|
public partial interface IAuthorizationHandlerProvider
|
||||||
{
|
{
|
||||||
|
|
@ -156,16 +156,16 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
public partial interface IAuthorizationPolicyProvider
|
public partial interface IAuthorizationPolicyProvider
|
||||||
{
|
{
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetDefaultPolicyAsync();
|
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetDefaultPolicyAsync();
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetFallbackPolicyAsync();
|
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy?> GetFallbackPolicyAsync();
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetPolicyAsync(string policyName);
|
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy?> GetPolicyAsync(string policyName);
|
||||||
}
|
}
|
||||||
public partial interface IAuthorizationRequirement
|
public partial interface IAuthorizationRequirement
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public partial interface IAuthorizationService
|
public partial interface IAuthorizationService
|
||||||
{
|
{
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object resource, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements);
|
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object? resource, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements);
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object resource, string policyName);
|
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object? resource, string policyName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
namespace Microsoft.AspNetCore.Authorization.Infrastructure
|
namespace Microsoft.AspNetCore.Authorization.Infrastructure
|
||||||
|
|
@ -181,8 +181,8 @@ namespace Microsoft.AspNetCore.Authorization.Infrastructure
|
||||||
}
|
}
|
||||||
public partial class ClaimsAuthorizationRequirement : Microsoft.AspNetCore.Authorization.AuthorizationHandler<Microsoft.AspNetCore.Authorization.Infrastructure.ClaimsAuthorizationRequirement>, Microsoft.AspNetCore.Authorization.IAuthorizationRequirement
|
public partial class ClaimsAuthorizationRequirement : Microsoft.AspNetCore.Authorization.AuthorizationHandler<Microsoft.AspNetCore.Authorization.Infrastructure.ClaimsAuthorizationRequirement>, Microsoft.AspNetCore.Authorization.IAuthorizationRequirement
|
||||||
{
|
{
|
||||||
public ClaimsAuthorizationRequirement(string claimType, System.Collections.Generic.IEnumerable<string> allowedValues) { }
|
public ClaimsAuthorizationRequirement(string claimType, System.Collections.Generic.IEnumerable<string>? allowedValues) { }
|
||||||
public System.Collections.Generic.IEnumerable<string> AllowedValues { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public System.Collections.Generic.IEnumerable<string>? AllowedValues { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public string ClaimType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public string ClaimType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
protected override System.Threading.Tasks.Task HandleRequirementAsync(Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext context, Microsoft.AspNetCore.Authorization.Infrastructure.ClaimsAuthorizationRequirement requirement) { throw null; }
|
protected override System.Threading.Tasks.Task HandleRequirementAsync(Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext context, Microsoft.AspNetCore.Authorization.Infrastructure.ClaimsAuthorizationRequirement requirement) { throw null; }
|
||||||
public override string ToString() { throw null; }
|
public override string ToString() { throw null; }
|
||||||
|
|
|
||||||
|
|
@ -18,12 +18,12 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
}
|
}
|
||||||
public partial class AuthorizationHandlerContext
|
public partial class AuthorizationHandlerContext
|
||||||
{
|
{
|
||||||
public AuthorizationHandlerContext(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements, System.Security.Claims.ClaimsPrincipal user, object resource) { }
|
public AuthorizationHandlerContext(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements, System.Security.Claims.ClaimsPrincipal user, object? resource) { }
|
||||||
public virtual bool HasFailed { get { throw null; } }
|
public virtual bool HasFailed { get { throw null; } }
|
||||||
public virtual bool HasSucceeded { get { throw null; } }
|
public virtual bool HasSucceeded { get { throw null; } }
|
||||||
public virtual System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> PendingRequirements { get { throw null; } }
|
public virtual System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> PendingRequirements { get { throw null; } }
|
||||||
public virtual System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> Requirements { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public virtual System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> Requirements { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public virtual object Resource { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public virtual object? Resource { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public virtual System.Security.Claims.ClaimsPrincipal User { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public virtual System.Security.Claims.ClaimsPrincipal User { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public virtual void Fail() { }
|
public virtual void Fail() { }
|
||||||
public virtual void Succeed(Microsoft.AspNetCore.Authorization.IAuthorizationRequirement requirement) { }
|
public virtual void Succeed(Microsoft.AspNetCore.Authorization.IAuthorizationRequirement requirement) { }
|
||||||
|
|
@ -46,11 +46,11 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
{
|
{
|
||||||
public AuthorizationOptions() { }
|
public AuthorizationOptions() { }
|
||||||
public Microsoft.AspNetCore.Authorization.AuthorizationPolicy DefaultPolicy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
public Microsoft.AspNetCore.Authorization.AuthorizationPolicy DefaultPolicy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
||||||
public Microsoft.AspNetCore.Authorization.AuthorizationPolicy FallbackPolicy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
public Microsoft.AspNetCore.Authorization.AuthorizationPolicy? FallbackPolicy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
||||||
public bool InvokeHandlersAfterFailure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
public bool InvokeHandlersAfterFailure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
||||||
public void AddPolicy(string name, Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy) { }
|
public void AddPolicy(string name, Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy) { }
|
||||||
public void AddPolicy(string name, System.Action<Microsoft.AspNetCore.Authorization.AuthorizationPolicyBuilder> configurePolicy) { }
|
public void AddPolicy(string name, System.Action<Microsoft.AspNetCore.Authorization.AuthorizationPolicyBuilder> configurePolicy) { }
|
||||||
public Microsoft.AspNetCore.Authorization.AuthorizationPolicy GetPolicy(string name) { throw null; }
|
public Microsoft.AspNetCore.Authorization.AuthorizationPolicy? GetPolicy(string name) { throw null; }
|
||||||
}
|
}
|
||||||
public partial class AuthorizationPolicy
|
public partial class AuthorizationPolicy
|
||||||
{
|
{
|
||||||
|
|
@ -60,7 +60,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
public static Microsoft.AspNetCore.Authorization.AuthorizationPolicy Combine(params Microsoft.AspNetCore.Authorization.AuthorizationPolicy[] policies) { throw null; }
|
public static Microsoft.AspNetCore.Authorization.AuthorizationPolicy Combine(params Microsoft.AspNetCore.Authorization.AuthorizationPolicy[] policies) { throw null; }
|
||||||
public static Microsoft.AspNetCore.Authorization.AuthorizationPolicy Combine(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> policies) { throw null; }
|
public static Microsoft.AspNetCore.Authorization.AuthorizationPolicy Combine(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> policies) { throw null; }
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||||
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> CombineAsync(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider policyProvider, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizeData> authorizeData) { throw null; }
|
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy?> CombineAsync(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider policyProvider, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizeData> authorizeData) { throw null; }
|
||||||
}
|
}
|
||||||
public partial class AuthorizationPolicyBuilder
|
public partial class AuthorizationPolicyBuilder
|
||||||
{
|
{
|
||||||
|
|
@ -85,7 +85,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
public partial class AuthorizationResult
|
public partial class AuthorizationResult
|
||||||
{
|
{
|
||||||
internal AuthorizationResult() { }
|
internal AuthorizationResult() { }
|
||||||
public Microsoft.AspNetCore.Authorization.AuthorizationFailure Failure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public Microsoft.AspNetCore.Authorization.AuthorizationFailure? Failure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public bool Succeeded { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public bool Succeeded { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public static Microsoft.AspNetCore.Authorization.AuthorizationResult Failed() { throw null; }
|
public static Microsoft.AspNetCore.Authorization.AuthorizationResult Failed() { throw null; }
|
||||||
public static Microsoft.AspNetCore.Authorization.AuthorizationResult Failed(Microsoft.AspNetCore.Authorization.AuthorizationFailure failure) { throw null; }
|
public static Microsoft.AspNetCore.Authorization.AuthorizationResult Failed(Microsoft.AspNetCore.Authorization.AuthorizationFailure failure) { throw null; }
|
||||||
|
|
@ -94,7 +94,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
public static partial class AuthorizationServiceExtensions
|
public static partial class AuthorizationServiceExtensions
|
||||||
{
|
{
|
||||||
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy) { throw null; }
|
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy) { throw null; }
|
||||||
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, object resource, Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy) { throw null; }
|
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, object? resource, Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy) { throw null; }
|
||||||
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, object resource, Microsoft.AspNetCore.Authorization.IAuthorizationRequirement requirement) { throw null; }
|
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, object resource, Microsoft.AspNetCore.Authorization.IAuthorizationRequirement requirement) { throw null; }
|
||||||
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, string policyName) { throw null; }
|
public static System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(this Microsoft.AspNetCore.Authorization.IAuthorizationService service, System.Security.Claims.ClaimsPrincipal user, string policyName) { throw null; }
|
||||||
}
|
}
|
||||||
|
|
@ -103,9 +103,9 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
{
|
{
|
||||||
public AuthorizeAttribute() { }
|
public AuthorizeAttribute() { }
|
||||||
public AuthorizeAttribute(string policy) { }
|
public AuthorizeAttribute(string policy) { }
|
||||||
public string AuthenticationSchemes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
public string? AuthenticationSchemes { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
||||||
public string Policy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
public string? Policy { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
||||||
public string Roles { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
public string? Roles { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
|
||||||
}
|
}
|
||||||
public partial class DefaultAuthorizationEvaluator : Microsoft.AspNetCore.Authorization.IAuthorizationEvaluator
|
public partial class DefaultAuthorizationEvaluator : Microsoft.AspNetCore.Authorization.IAuthorizationEvaluator
|
||||||
{
|
{
|
||||||
|
|
@ -115,7 +115,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
public partial class DefaultAuthorizationHandlerContextFactory : Microsoft.AspNetCore.Authorization.IAuthorizationHandlerContextFactory
|
public partial class DefaultAuthorizationHandlerContextFactory : Microsoft.AspNetCore.Authorization.IAuthorizationHandlerContextFactory
|
||||||
{
|
{
|
||||||
public DefaultAuthorizationHandlerContextFactory() { }
|
public DefaultAuthorizationHandlerContextFactory() { }
|
||||||
public virtual Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext CreateContext(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements, System.Security.Claims.ClaimsPrincipal user, object resource) { throw null; }
|
public virtual Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext CreateContext(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements, System.Security.Claims.ClaimsPrincipal user, object? resource) { throw null; }
|
||||||
}
|
}
|
||||||
public partial class DefaultAuthorizationHandlerProvider : Microsoft.AspNetCore.Authorization.IAuthorizationHandlerProvider
|
public partial class DefaultAuthorizationHandlerProvider : Microsoft.AspNetCore.Authorization.IAuthorizationHandlerProvider
|
||||||
{
|
{
|
||||||
|
|
@ -126,16 +126,16 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
{
|
{
|
||||||
public DefaultAuthorizationPolicyProvider(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Authorization.AuthorizationOptions> options) { }
|
public DefaultAuthorizationPolicyProvider(Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Authorization.AuthorizationOptions> options) { }
|
||||||
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetDefaultPolicyAsync() { throw null; }
|
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetDefaultPolicyAsync() { throw null; }
|
||||||
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetFallbackPolicyAsync() { throw null; }
|
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy?> GetFallbackPolicyAsync() { throw null; }
|
||||||
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetPolicyAsync(string policyName) { throw null; }
|
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy?> GetPolicyAsync(string policyName) { throw null; }
|
||||||
}
|
}
|
||||||
public partial class DefaultAuthorizationService : Microsoft.AspNetCore.Authorization.IAuthorizationService
|
public partial class DefaultAuthorizationService : Microsoft.AspNetCore.Authorization.IAuthorizationService
|
||||||
{
|
{
|
||||||
public DefaultAuthorizationService(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider policyProvider, Microsoft.AspNetCore.Authorization.IAuthorizationHandlerProvider handlers, Microsoft.Extensions.Logging.ILogger<Microsoft.AspNetCore.Authorization.DefaultAuthorizationService> logger, Microsoft.AspNetCore.Authorization.IAuthorizationHandlerContextFactory contextFactory, Microsoft.AspNetCore.Authorization.IAuthorizationEvaluator evaluator, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Authorization.AuthorizationOptions> options) { }
|
public DefaultAuthorizationService(Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider policyProvider, Microsoft.AspNetCore.Authorization.IAuthorizationHandlerProvider handlers, Microsoft.Extensions.Logging.ILogger<Microsoft.AspNetCore.Authorization.DefaultAuthorizationService> logger, Microsoft.AspNetCore.Authorization.IAuthorizationHandlerContextFactory contextFactory, Microsoft.AspNetCore.Authorization.IAuthorizationEvaluator evaluator, Microsoft.Extensions.Options.IOptions<Microsoft.AspNetCore.Authorization.AuthorizationOptions> options) { }
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||||
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object resource, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements) { throw null; }
|
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object? resource, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements) { throw null; }
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||||
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object resource, string policyName) { throw null; }
|
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object? resource, string policyName) { throw null; }
|
||||||
}
|
}
|
||||||
public partial interface IAuthorizationEvaluator
|
public partial interface IAuthorizationEvaluator
|
||||||
{
|
{
|
||||||
|
|
@ -147,7 +147,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
}
|
}
|
||||||
public partial interface IAuthorizationHandlerContextFactory
|
public partial interface IAuthorizationHandlerContextFactory
|
||||||
{
|
{
|
||||||
Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext CreateContext(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements, System.Security.Claims.ClaimsPrincipal user, object resource);
|
Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext CreateContext(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements, System.Security.Claims.ClaimsPrincipal user, object? resource);
|
||||||
}
|
}
|
||||||
public partial interface IAuthorizationHandlerProvider
|
public partial interface IAuthorizationHandlerProvider
|
||||||
{
|
{
|
||||||
|
|
@ -156,16 +156,16 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
public partial interface IAuthorizationPolicyProvider
|
public partial interface IAuthorizationPolicyProvider
|
||||||
{
|
{
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetDefaultPolicyAsync();
|
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetDefaultPolicyAsync();
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetFallbackPolicyAsync();
|
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy?> GetFallbackPolicyAsync();
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy> GetPolicyAsync(string policyName);
|
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationPolicy?> GetPolicyAsync(string policyName);
|
||||||
}
|
}
|
||||||
public partial interface IAuthorizationRequirement
|
public partial interface IAuthorizationRequirement
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public partial interface IAuthorizationService
|
public partial interface IAuthorizationService
|
||||||
{
|
{
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object resource, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements);
|
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object? resource, System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Authorization.IAuthorizationRequirement> requirements);
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object resource, string policyName);
|
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.AuthorizationResult> AuthorizeAsync(System.Security.Claims.ClaimsPrincipal user, object? resource, string policyName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
namespace Microsoft.AspNetCore.Authorization.Infrastructure
|
namespace Microsoft.AspNetCore.Authorization.Infrastructure
|
||||||
|
|
@ -181,8 +181,8 @@ namespace Microsoft.AspNetCore.Authorization.Infrastructure
|
||||||
}
|
}
|
||||||
public partial class ClaimsAuthorizationRequirement : Microsoft.AspNetCore.Authorization.AuthorizationHandler<Microsoft.AspNetCore.Authorization.Infrastructure.ClaimsAuthorizationRequirement>, Microsoft.AspNetCore.Authorization.IAuthorizationRequirement
|
public partial class ClaimsAuthorizationRequirement : Microsoft.AspNetCore.Authorization.AuthorizationHandler<Microsoft.AspNetCore.Authorization.Infrastructure.ClaimsAuthorizationRequirement>, Microsoft.AspNetCore.Authorization.IAuthorizationRequirement
|
||||||
{
|
{
|
||||||
public ClaimsAuthorizationRequirement(string claimType, System.Collections.Generic.IEnumerable<string> allowedValues) { }
|
public ClaimsAuthorizationRequirement(string claimType, System.Collections.Generic.IEnumerable<string>? allowedValues) { }
|
||||||
public System.Collections.Generic.IEnumerable<string> AllowedValues { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public System.Collections.Generic.IEnumerable<string>? AllowedValues { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public string ClaimType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public string ClaimType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
protected override System.Threading.Tasks.Task HandleRequirementAsync(Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext context, Microsoft.AspNetCore.Authorization.Infrastructure.ClaimsAuthorizationRequirement requirement) { throw null; }
|
protected override System.Threading.Tasks.Task HandleRequirementAsync(Microsoft.AspNetCore.Authorization.AuthorizationHandlerContext context, Microsoft.AspNetCore.Authorization.Infrastructure.ClaimsAuthorizationRequirement requirement) { throw null; }
|
||||||
public override string ToString() { throw null; }
|
public override string ToString() { throw null; }
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
// 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.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
|
|
||||||
|
|
@ -21,7 +22,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Failure was due to these requirements not being met via <see cref="AuthorizationHandlerContext.Succeed(IAuthorizationRequirement)"/>.
|
/// Failure was due to these requirements not being met via <see cref="AuthorizationHandlerContext.Succeed(IAuthorizationRequirement)"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public IEnumerable<IAuthorizationRequirement> FailedRequirements { get; private set; }
|
public IEnumerable<IAuthorizationRequirement> FailedRequirements { get; private set; } = Array.Empty<IAuthorizationRequirement>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Return a failure due to <see cref="AuthorizationHandlerContext.Fail"/> being called.
|
/// Return a failure due to <see cref="AuthorizationHandlerContext.Fail"/> being called.
|
||||||
|
|
@ -31,7 +32,6 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
=> new AuthorizationFailure
|
=> new AuthorizationFailure
|
||||||
{
|
{
|
||||||
FailCalled = true,
|
FailCalled = true,
|
||||||
FailedRequirements = new IAuthorizationRequirement[0]
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
public AuthorizationHandlerContext(
|
public AuthorizationHandlerContext(
|
||||||
IEnumerable<IAuthorizationRequirement> requirements,
|
IEnumerable<IAuthorizationRequirement> requirements,
|
||||||
ClaimsPrincipal user,
|
ClaimsPrincipal user,
|
||||||
object resource)
|
object? resource)
|
||||||
{
|
{
|
||||||
if (requirements == null)
|
if (requirements == null)
|
||||||
{
|
{
|
||||||
|
|
@ -52,7 +52,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The optional resource to evaluate the <see cref="AuthorizationHandlerContext.Requirements"/> against.
|
/// The optional resource to evaluate the <see cref="AuthorizationHandlerContext.Requirements"/> against.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual object Resource { get; }
|
public virtual object? Resource { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the requirements that have not yet been marked as succeeded.
|
/// Gets the requirements that have not yet been marked as succeeded.
|
||||||
|
|
@ -95,4 +95,4 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
_pendingRequirements.Remove(requirement);
|
_pendingRequirements.Remove(requirement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class AuthorizationOptions
|
public class AuthorizationOptions
|
||||||
{
|
{
|
||||||
private IDictionary<string, AuthorizationPolicy> PolicyMap { get; } = new Dictionary<string, AuthorizationPolicy>(StringComparer.OrdinalIgnoreCase);
|
private Dictionary<string, AuthorizationPolicy> PolicyMap { get; } = new Dictionary<string, AuthorizationPolicy>(StringComparer.OrdinalIgnoreCase);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines whether authentication handlers should be invoked after a failure.
|
/// Determines whether authentication handlers should be invoked after a failure.
|
||||||
|
|
@ -35,7 +35,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// effect unless you have the AuthorizationMiddleware in your pipeline. It is not used in any way by the
|
/// effect unless you have the AuthorizationMiddleware in your pipeline. It is not used in any way by the
|
||||||
/// default <see cref="IAuthorizationService"/>.
|
/// default <see cref="IAuthorizationService"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public AuthorizationPolicy FallbackPolicy { get; set; }
|
public AuthorizationPolicy? FallbackPolicy { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Add an authorization policy with the provided name.
|
/// Add an authorization policy with the provided name.
|
||||||
|
|
@ -84,14 +84,19 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="name">The name of the policy to return.</param>
|
/// <param name="name">The name of the policy to return.</param>
|
||||||
/// <returns>The policy for the specified name, or null if a policy with the name does not exist.</returns>
|
/// <returns>The policy for the specified name, or null if a policy with the name does not exist.</returns>
|
||||||
public AuthorizationPolicy GetPolicy(string name)
|
public AuthorizationPolicy? GetPolicy(string name)
|
||||||
{
|
{
|
||||||
if (name == null)
|
if (name == null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(name));
|
throw new ArgumentNullException(nameof(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
return PolicyMap.ContainsKey(name) ? PolicyMap[name] : null;
|
if (PolicyMap.TryGetValue(name, out var value))
|
||||||
|
{
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -108,7 +108,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// A new <see cref="AuthorizationPolicy"/> which represents the combination of the
|
/// A new <see cref="AuthorizationPolicy"/> which represents the combination of the
|
||||||
/// authorization policies provided by the specified <paramref name="policyProvider"/>.
|
/// authorization policies provided by the specified <paramref name="policyProvider"/>.
|
||||||
/// </returns>
|
/// </returns>
|
||||||
public static async Task<AuthorizationPolicy> CombineAsync(IAuthorizationPolicyProvider policyProvider, IEnumerable<IAuthorizeData> authorizeData)
|
public static async Task<AuthorizationPolicy?> CombineAsync(IAuthorizationPolicyProvider policyProvider, IEnumerable<IAuthorizeData> authorizeData)
|
||||||
{
|
{
|
||||||
if (policyProvider == null)
|
if (policyProvider == null)
|
||||||
{
|
{
|
||||||
|
|
@ -127,7 +127,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
skipEnumeratingData = dataList.Count == 0;
|
skipEnumeratingData = dataList.Count == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
AuthorizationPolicyBuilder policyBuilder = null;
|
AuthorizationPolicyBuilder? policyBuilder = null;
|
||||||
if (!skipEnumeratingData)
|
if (!skipEnumeratingData)
|
||||||
{
|
{
|
||||||
foreach (var authorizeDatum in authorizeData)
|
foreach (var authorizeDatum in authorizeData)
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Authorization
|
namespace Microsoft.AspNetCore.Authorization
|
||||||
|
|
@ -21,7 +22,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Contains information about why authorization failed.
|
/// Contains information about why authorization failed.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public AuthorizationFailure Failure { get; private set; }
|
public AuthorizationFailure? Failure { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns a successful result.
|
/// Returns a successful result.
|
||||||
|
|
|
||||||
|
|
@ -51,11 +51,7 @@ namespace Microsoft.Extensions.DependencyInjection
|
||||||
throw new ArgumentNullException(nameof(services));
|
throw new ArgumentNullException(nameof(services));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (configure != null)
|
services.Configure(configure);
|
||||||
{
|
|
||||||
services.Configure(configure);
|
|
||||||
}
|
|
||||||
|
|
||||||
return services.AddAuthorizationCore();
|
return services.AddAuthorizationCore();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// A flag indicating whether policy evaluation has succeeded or failed.
|
/// A flag indicating whether policy evaluation has succeeded or failed.
|
||||||
/// This value is <value>true</value> when the user fulfills the policy, otherwise <value>false</value>.
|
/// This value is <value>true</value> when the user fulfills the policy, otherwise <value>false</value>.
|
||||||
/// </returns>
|
/// </returns>
|
||||||
public static Task<AuthorizationResult> AuthorizeAsync(this IAuthorizationService service, ClaimsPrincipal user, object resource, AuthorizationPolicy policy)
|
public static Task<AuthorizationResult> AuthorizeAsync(this IAuthorizationService service, ClaimsPrincipal user, object? resource, AuthorizationPolicy policy)
|
||||||
{
|
{
|
||||||
if (service == null)
|
if (service == null)
|
||||||
{
|
{
|
||||||
|
|
@ -115,4 +115,4 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
return service.AuthorizeAsync(user, resource: null, policyName: policyName);
|
return service.AuthorizeAsync(user, resource: null, policyName: policyName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,16 +28,16 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the policy name that determines access to the resource.
|
/// Gets or sets the policy name that determines access to the resource.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Policy { get; set; }
|
public string? Policy { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets a comma delimited list of roles that are allowed to access the resource.
|
/// Gets or sets a comma delimited list of roles that are allowed to access the resource.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Roles { get; set; }
|
public string? Roles { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets a comma delimited list of schemes from which user information is constructed.
|
/// Gets or sets a comma delimited list of schemes from which user information is constructed.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string AuthenticationSchemes { get; set; }
|
public string? AuthenticationSchemes { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ namespace Microsoft.AspNetCore.Authorization.Infrastructure
|
||||||
/// <param name="claimType">The claim type that must be present.</param>
|
/// <param name="claimType">The claim type that must be present.</param>
|
||||||
/// <param name="allowedValues">The optional list of claim values, which, if present,
|
/// <param name="allowedValues">The optional list of claim values, which, if present,
|
||||||
/// the claim must match.</param>
|
/// the claim must match.</param>
|
||||||
public ClaimsAuthorizationRequirement(string claimType, IEnumerable<string> allowedValues)
|
public ClaimsAuthorizationRequirement(string claimType, IEnumerable<string>? allowedValues)
|
||||||
{
|
{
|
||||||
if (claimType == null)
|
if (claimType == null)
|
||||||
{
|
{
|
||||||
|
|
@ -42,7 +42,7 @@ namespace Microsoft.AspNetCore.Authorization.Infrastructure
|
||||||
/// Gets the optional list of claim values, which, if present,
|
/// Gets the optional list of claim values, which, if present,
|
||||||
/// the claim must match.
|
/// the claim must match.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public IEnumerable<string> AllowedValues { get; }
|
public IEnumerable<string>? AllowedValues { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Makes a decision if authorization is allowed based on the claims requirements specified.
|
/// Makes a decision if authorization is allowed based on the claims requirements specified.
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// If a resource is not required for policy evaluation you may pass null as the value.
|
/// If a resource is not required for policy evaluation you may pass null as the value.
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <returns>The <see cref="AuthorizationHandlerContext"/>.</returns>
|
/// <returns>The <see cref="AuthorizationHandlerContext"/>.</returns>
|
||||||
public virtual AuthorizationHandlerContext CreateContext(IEnumerable<IAuthorizationRequirement> requirements, ClaimsPrincipal user, object resource)
|
public virtual AuthorizationHandlerContext CreateContext(IEnumerable<IAuthorizationRequirement> requirements, ClaimsPrincipal user, object? resource)
|
||||||
{
|
{
|
||||||
return new AuthorizationHandlerContext(requirements, user, resource);
|
return new AuthorizationHandlerContext(requirements, user, resource);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
|
|
||||||
|
|
@ -14,8 +15,8 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
public class DefaultAuthorizationPolicyProvider : IAuthorizationPolicyProvider
|
public class DefaultAuthorizationPolicyProvider : IAuthorizationPolicyProvider
|
||||||
{
|
{
|
||||||
private readonly AuthorizationOptions _options;
|
private readonly AuthorizationOptions _options;
|
||||||
private Task<AuthorizationPolicy> _cachedDefaultPolicy;
|
private Task<AuthorizationPolicy>? _cachedDefaultPolicy;
|
||||||
private Task<AuthorizationPolicy> _cachedFallbackPolicy;
|
private Task<AuthorizationPolicy?>? _cachedFallbackPolicy;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Creates a new instance of <see cref="DefaultAuthorizationPolicyProvider"/>.
|
/// Creates a new instance of <see cref="DefaultAuthorizationPolicyProvider"/>.
|
||||||
|
|
@ -37,26 +38,26 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// <returns>The default authorization policy.</returns>
|
/// <returns>The default authorization policy.</returns>
|
||||||
public Task<AuthorizationPolicy> GetDefaultPolicyAsync()
|
public Task<AuthorizationPolicy> GetDefaultPolicyAsync()
|
||||||
{
|
{
|
||||||
return GetCachedPolicy(ref _cachedDefaultPolicy, _options.DefaultPolicy);
|
if (_cachedDefaultPolicy == null || _cachedDefaultPolicy.Result != _options.DefaultPolicy)
|
||||||
|
{
|
||||||
|
_cachedDefaultPolicy = Task.FromResult(_options.DefaultPolicy);
|
||||||
|
}
|
||||||
|
|
||||||
|
return _cachedDefaultPolicy;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the fallback authorization policy.
|
/// Gets the fallback authorization policy.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>The fallback authorization policy.</returns>
|
/// <returns>The fallback authorization policy.</returns>
|
||||||
public Task<AuthorizationPolicy> GetFallbackPolicyAsync()
|
public Task<AuthorizationPolicy?> GetFallbackPolicyAsync()
|
||||||
{
|
{
|
||||||
return GetCachedPolicy(ref _cachedFallbackPolicy, _options.FallbackPolicy);
|
if (_cachedFallbackPolicy == null || _cachedFallbackPolicy.Result != _options.FallbackPolicy)
|
||||||
}
|
|
||||||
|
|
||||||
private Task<AuthorizationPolicy> GetCachedPolicy(ref Task<AuthorizationPolicy> cachedPolicy, AuthorizationPolicy currentPolicy)
|
|
||||||
{
|
|
||||||
var local = cachedPolicy;
|
|
||||||
if (local == null || local.Result != currentPolicy)
|
|
||||||
{
|
{
|
||||||
cachedPolicy = local = Task.FromResult(currentPolicy);
|
_cachedFallbackPolicy = Task.FromResult(_options.FallbackPolicy);
|
||||||
}
|
}
|
||||||
return local;
|
|
||||||
|
return _cachedFallbackPolicy;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -64,7 +65,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="policyName">The policy name to retrieve.</param>
|
/// <param name="policyName">The policy name to retrieve.</param>
|
||||||
/// <returns>The named <see cref="AuthorizationPolicy"/>.</returns>
|
/// <returns>The named <see cref="AuthorizationPolicy"/>.</returns>
|
||||||
public virtual Task<AuthorizationPolicy> GetPolicyAsync(string policyName)
|
public virtual Task<AuthorizationPolicy?> GetPolicyAsync(string policyName)
|
||||||
{
|
{
|
||||||
// MVC caches policies specifically for this class, so this method MUST return the same policy per
|
// MVC caches policies specifically for this class, so this method MUST return the same policy per
|
||||||
// policyName for every request or it could allow undesired access. It also must return synchronously.
|
// policyName for every request or it could allow undesired access. It also must return synchronously.
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// A flag indicating whether authorization has succeeded.
|
/// A flag indicating whether authorization has succeeded.
|
||||||
/// This value is <value>true</value> when the user fulfills the policy otherwise <value>false</value>.
|
/// This value is <value>true</value> when the user fulfills the policy otherwise <value>false</value>.
|
||||||
/// </returns>
|
/// </returns>
|
||||||
public async Task<AuthorizationResult> AuthorizeAsync(ClaimsPrincipal user, object resource, IEnumerable<IAuthorizationRequirement> requirements)
|
public async Task<AuthorizationResult> AuthorizeAsync(ClaimsPrincipal user, object? resource, IEnumerable<IAuthorizationRequirement> requirements)
|
||||||
{
|
{
|
||||||
if (requirements == null)
|
if (requirements == null)
|
||||||
{
|
{
|
||||||
|
|
@ -102,7 +102,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_logger.UserAuthorizationFailed(result.Failure);
|
_logger.UserAuthorizationFailed(result.Failure!);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
@ -117,7 +117,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// A flag indicating whether authorization has succeeded.
|
/// A flag indicating whether authorization has succeeded.
|
||||||
/// This value is <value>true</value> when the user fulfills the policy otherwise <value>false</value>.
|
/// This value is <value>true</value> when the user fulfills the policy otherwise <value>false</value>.
|
||||||
/// </returns>
|
/// </returns>
|
||||||
public async Task<AuthorizationResult> AuthorizeAsync(ClaimsPrincipal user, object resource, string policyName)
|
public async Task<AuthorizationResult> AuthorizeAsync(ClaimsPrincipal user, object? resource, string policyName)
|
||||||
{
|
{
|
||||||
if (policyName == null)
|
if (policyName == null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,6 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// If a resource is not required for policy evaluation you may pass null as the value.
|
/// If a resource is not required for policy evaluation you may pass null as the value.
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <returns>The <see cref="AuthorizationHandlerContext"/>.</returns>
|
/// <returns>The <see cref="AuthorizationHandlerContext"/>.</returns>
|
||||||
AuthorizationHandlerContext CreateContext(IEnumerable<IAuthorizationRequirement> requirements, ClaimsPrincipal user, object resource);
|
AuthorizationHandlerContext CreateContext(IEnumerable<IAuthorizationRequirement> requirements, ClaimsPrincipal user, object? resource);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="policyName">The policy name to retrieve.</param>
|
/// <param name="policyName">The policy name to retrieve.</param>
|
||||||
/// <returns>The named <see cref="AuthorizationPolicy"/>.</returns>
|
/// <returns>The named <see cref="AuthorizationPolicy"/>.</returns>
|
||||||
Task<AuthorizationPolicy> GetPolicyAsync(string policyName);
|
Task<AuthorizationPolicy?> GetPolicyAsync(string policyName);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the default authorization policy.
|
/// Gets the default authorization policy.
|
||||||
|
|
@ -27,6 +27,6 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// Gets the fallback authorization policy.
|
/// Gets the fallback authorization policy.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>The fallback authorization policy.</returns>
|
/// <returns>The fallback authorization policy.</returns>
|
||||||
Task<AuthorizationPolicy> GetFallbackPolicyAsync();
|
Task<AuthorizationPolicy?> GetFallbackPolicyAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// Resource is an optional parameter and may be null. Please ensure that you check it is not
|
/// Resource is an optional parameter and may be null. Please ensure that you check it is not
|
||||||
/// null before acting upon it.
|
/// null before acting upon it.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
Task<AuthorizationResult> AuthorizeAsync(ClaimsPrincipal user, object resource, IEnumerable<IAuthorizationRequirement> requirements);
|
Task<AuthorizationResult> AuthorizeAsync(ClaimsPrincipal user, object? resource, IEnumerable<IAuthorizationRequirement> requirements);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Checks if a user meets a specific authorization policy
|
/// Checks if a user meets a specific authorization policy
|
||||||
|
|
@ -49,6 +49,6 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
/// Resource is an optional parameter and may be null. Please ensure that you check it is not
|
/// Resource is an optional parameter and may be null. Please ensure that you check it is not
|
||||||
/// null before acting upon it.
|
/// null before acting upon it.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
Task<AuthorizationResult> AuthorizeAsync(ClaimsPrincipal user, object resource, string policyName);
|
Task<AuthorizationResult> AuthorizeAsync(ClaimsPrincipal user, object? resource, string policyName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@ namespace Microsoft.Extensions.Logging
|
||||||
{
|
{
|
||||||
internal static class LoggingExtensions
|
internal static class LoggingExtensions
|
||||||
{
|
{
|
||||||
private static Action<ILogger, string, Exception> _userAuthorizationFailed;
|
private static Action<ILogger, string, Exception?> _userAuthorizationFailed;
|
||||||
private static Action<ILogger, Exception> _userAuthorizationSucceeded;
|
private static Action<ILogger, Exception?> _userAuthorizationSucceeded;
|
||||||
|
|
||||||
static LoggingExtensions()
|
static LoggingExtensions()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ Microsoft.AspNetCore.Authorization.AuthorizeAttribute</Description>
|
||||||
<NoWarn>$(NoWarn);CS1591</NoWarn>
|
<NoWarn>$(NoWarn);CS1591</NoWarn>
|
||||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||||
<PackageTags>aspnetcore;authorization</PackageTags>
|
<PackageTags>aspnetcore;authorization</PackageTags>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ namespace Microsoft.AspNetCore.Authorization.Infrastructure
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The name of this instance of <see cref="IAuthorizationRequirement"/>.
|
/// The name of this instance of <see cref="IAuthorizationRequirement"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Name { get; set; }
|
public string Name { get; set; } = default!;
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks>
|
<TargetFrameworks>$(DefaultNetCoreTargetFramework)</TargetFrameworks>
|
||||||
|
<Nullable>annotations</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'">
|
<ItemGroup Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)'">
|
||||||
<Compile Include="Microsoft.AspNetCore.Authorization.Policy.netcoreapp.cs" />
|
<Compile Include="Microsoft.AspNetCore.Authorization.Policy.netcoreapp.cs" />
|
||||||
|
|
|
||||||
|
|
@ -25,18 +25,18 @@ namespace Microsoft.AspNetCore.Authorization.Policy
|
||||||
public partial interface IPolicyEvaluator
|
public partial interface IPolicyEvaluator
|
||||||
{
|
{
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy, Microsoft.AspNetCore.Http.HttpContext context);
|
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy, Microsoft.AspNetCore.Http.HttpContext context);
|
||||||
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.Policy.PolicyAuthorizationResult> AuthorizeAsync(Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy, Microsoft.AspNetCore.Authentication.AuthenticateResult authenticationResult, Microsoft.AspNetCore.Http.HttpContext context, object resource);
|
System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.Policy.PolicyAuthorizationResult> AuthorizeAsync(Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy, Microsoft.AspNetCore.Authentication.AuthenticateResult authenticationResult, Microsoft.AspNetCore.Http.HttpContext context, object? resource);
|
||||||
}
|
}
|
||||||
public partial class PolicyAuthorizationResult
|
public partial class PolicyAuthorizationResult
|
||||||
{
|
{
|
||||||
internal PolicyAuthorizationResult() { }
|
internal PolicyAuthorizationResult() { }
|
||||||
public Microsoft.AspNetCore.Authorization.AuthorizationFailure AuthorizationFailure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public Microsoft.AspNetCore.Authorization.AuthorizationFailure? AuthorizationFailure { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public bool Challenged { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public bool Challenged { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public bool Forbidden { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public bool Forbidden { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public bool Succeeded { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
public bool Succeeded { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
|
||||||
public static Microsoft.AspNetCore.Authorization.Policy.PolicyAuthorizationResult Challenge() { throw null; }
|
public static Microsoft.AspNetCore.Authorization.Policy.PolicyAuthorizationResult Challenge() { throw null; }
|
||||||
public static Microsoft.AspNetCore.Authorization.Policy.PolicyAuthorizationResult Forbid() { throw null; }
|
public static Microsoft.AspNetCore.Authorization.Policy.PolicyAuthorizationResult Forbid() { throw null; }
|
||||||
public static Microsoft.AspNetCore.Authorization.Policy.PolicyAuthorizationResult Forbid(Microsoft.AspNetCore.Authorization.AuthorizationFailure authorizationFailure) { throw null; }
|
public static Microsoft.AspNetCore.Authorization.Policy.PolicyAuthorizationResult Forbid(Microsoft.AspNetCore.Authorization.AuthorizationFailure? authorizationFailure) { throw null; }
|
||||||
public static Microsoft.AspNetCore.Authorization.Policy.PolicyAuthorizationResult Success() { throw null; }
|
public static Microsoft.AspNetCore.Authorization.Policy.PolicyAuthorizationResult Success() { throw null; }
|
||||||
}
|
}
|
||||||
public partial class PolicyEvaluator : Microsoft.AspNetCore.Authorization.Policy.IPolicyEvaluator
|
public partial class PolicyEvaluator : Microsoft.AspNetCore.Authorization.Policy.IPolicyEvaluator
|
||||||
|
|
@ -45,7 +45,7 @@ namespace Microsoft.AspNetCore.Authorization.Policy
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||||
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy, Microsoft.AspNetCore.Http.HttpContext context) { throw null; }
|
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authentication.AuthenticateResult> AuthenticateAsync(Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy, Microsoft.AspNetCore.Http.HttpContext context) { throw null; }
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||||
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.Policy.PolicyAuthorizationResult> AuthorizeAsync(Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy, Microsoft.AspNetCore.Authentication.AuthenticateResult authenticationResult, Microsoft.AspNetCore.Http.HttpContext context, object resource) { throw null; }
|
public virtual System.Threading.Tasks.Task<Microsoft.AspNetCore.Authorization.Policy.PolicyAuthorizationResult> AuthorizeAsync(Microsoft.AspNetCore.Authorization.AuthorizationPolicy policy, Microsoft.AspNetCore.Authentication.AuthenticateResult authenticationResult, Microsoft.AspNetCore.Http.HttpContext context, object? resource) { throw null; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
namespace Microsoft.AspNetCore.Builder
|
namespace Microsoft.AspNetCore.Builder
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,6 @@ namespace Microsoft.AspNetCore.Authorization.Policy
|
||||||
/// <returns>Returns <see cref="PolicyAuthorizationResult.Success"/> if authorization succeeds.
|
/// <returns>Returns <see cref="PolicyAuthorizationResult.Success"/> if authorization succeeds.
|
||||||
/// Otherwise returns <see cref="PolicyAuthorizationResult.Forbid(AuthorizationFailure)"/> if <see cref="AuthenticateResult.Succeeded"/>, otherwise
|
/// Otherwise returns <see cref="PolicyAuthorizationResult.Forbid(AuthorizationFailure)"/> if <see cref="AuthenticateResult.Succeeded"/>, otherwise
|
||||||
/// returns <see cref="PolicyAuthorizationResult.Challenge"/></returns>
|
/// returns <see cref="PolicyAuthorizationResult.Challenge"/></returns>
|
||||||
Task<PolicyAuthorizationResult> AuthorizeAsync(AuthorizationPolicy policy, AuthenticateResult authenticationResult, HttpContext context, object resource);
|
Task<PolicyAuthorizationResult> AuthorizeAsync(AuthorizationPolicy policy, AuthenticateResult authenticationResult, HttpContext context, object? resource);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||||
<PackageTags>aspnetcore;authorization</PackageTags>
|
<PackageTags>aspnetcore;authorization</PackageTags>
|
||||||
<IsPackable>false</IsPackable>
|
<IsPackable>false</IsPackable>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ namespace Microsoft.AspNetCore.Authorization.Policy
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Contains information about why authorization failed.
|
/// Contains information about why authorization failed.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public AuthorizationFailure AuthorizationFailure { get; private set; }
|
public AuthorizationFailure? AuthorizationFailure { get; private set; }
|
||||||
|
|
||||||
public static PolicyAuthorizationResult Challenge()
|
public static PolicyAuthorizationResult Challenge()
|
||||||
=> new PolicyAuthorizationResult { Challenged = true };
|
=> new PolicyAuthorizationResult { Challenged = true };
|
||||||
|
|
@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.Authorization.Policy
|
||||||
public static PolicyAuthorizationResult Forbid()
|
public static PolicyAuthorizationResult Forbid()
|
||||||
=> Forbid(null);
|
=> Forbid(null);
|
||||||
|
|
||||||
public static PolicyAuthorizationResult Forbid(AuthorizationFailure authorizationFailure)
|
public static PolicyAuthorizationResult Forbid(AuthorizationFailure? authorizationFailure)
|
||||||
=> new PolicyAuthorizationResult { Forbidden = true, AuthorizationFailure = authorizationFailure };
|
=> new PolicyAuthorizationResult { Forbidden = true, AuthorizationFailure = authorizationFailure };
|
||||||
|
|
||||||
public static PolicyAuthorizationResult Success()
|
public static PolicyAuthorizationResult Success()
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Authorization.Policy
|
||||||
{
|
{
|
||||||
if (policy.AuthenticationSchemes != null && policy.AuthenticationSchemes.Count > 0)
|
if (policy.AuthenticationSchemes != null && policy.AuthenticationSchemes.Count > 0)
|
||||||
{
|
{
|
||||||
ClaimsPrincipal newPrincipal = null;
|
ClaimsPrincipal? newPrincipal = null;
|
||||||
foreach (var scheme in policy.AuthenticationSchemes)
|
foreach (var scheme in policy.AuthenticationSchemes)
|
||||||
{
|
{
|
||||||
var result = await context.AuthenticateAsync(scheme);
|
var result = await context.AuthenticateAsync(scheme);
|
||||||
|
|
@ -74,7 +74,7 @@ namespace Microsoft.AspNetCore.Authorization.Policy
|
||||||
/// <returns>Returns <see cref="PolicyAuthorizationResult.Success"/> if authorization succeeds.
|
/// <returns>Returns <see cref="PolicyAuthorizationResult.Success"/> if authorization succeeds.
|
||||||
/// Otherwise returns <see cref="PolicyAuthorizationResult.Forbid(AuthorizationFailure)"/> if <see cref="AuthenticateResult.Succeeded"/>, otherwise
|
/// Otherwise returns <see cref="PolicyAuthorizationResult.Forbid(AuthorizationFailure)"/> if <see cref="AuthenticateResult.Succeeded"/>, otherwise
|
||||||
/// returns <see cref="PolicyAuthorizationResult.Challenge"/></returns>
|
/// returns <see cref="PolicyAuthorizationResult.Challenge"/></returns>
|
||||||
public virtual async Task<PolicyAuthorizationResult> AuthorizeAsync(AuthorizationPolicy policy, AuthenticateResult authenticationResult, HttpContext context, object resource)
|
public virtual async Task<PolicyAuthorizationResult> AuthorizeAsync(AuthorizationPolicy policy, AuthenticateResult authenticationResult, HttpContext context, object? resource)
|
||||||
{
|
{
|
||||||
if (policy == null)
|
if (policy == null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,16 @@ namespace Microsoft.Extensions.DependencyInjection
|
||||||
/// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
|
/// <param name="services">The <see cref="IServiceCollection" /> to add services to.</param>
|
||||||
/// <returns>The <see cref="IServiceCollection"/> so that additional calls can be chained.</returns>
|
/// <returns>The <see cref="IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||||
public static IServiceCollection AddAuthorization(this IServiceCollection services)
|
public static IServiceCollection AddAuthorization(this IServiceCollection services)
|
||||||
=> services.AddAuthorization(configure: null);
|
{
|
||||||
|
if (services == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentNullException(nameof(services));
|
||||||
|
}
|
||||||
|
|
||||||
|
services.AddAuthorizationCore();
|
||||||
|
services.AddAuthorizationPolicyEvaluator();
|
||||||
|
return services;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Adds authorization policy services to the specified <see cref="IServiceCollection" />.
|
/// Adds authorization policy services to the specified <see cref="IServiceCollection" />.
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
// 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.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using System;
|
#nullable enable
|
||||||
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
|
|
||||||
|
|
@ -19,7 +20,7 @@ namespace Microsoft.Extensions.Internal
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="existingPrincipal">The <see cref="ClaimsPrincipal"/> containing existing <see cref="ClaimsIdentity"/>.</param>
|
/// <param name="existingPrincipal">The <see cref="ClaimsPrincipal"/> containing existing <see cref="ClaimsIdentity"/>.</param>
|
||||||
/// <param name="additionalPrincipal">The <see cref="ClaimsPrincipal"/> containing <see cref="ClaimsIdentity"/> to be added.</param>
|
/// <param name="additionalPrincipal">The <see cref="ClaimsPrincipal"/> containing <see cref="ClaimsIdentity"/> to be added.</param>
|
||||||
public static ClaimsPrincipal MergeUserPrincipal(ClaimsPrincipal existingPrincipal, ClaimsPrincipal additionalPrincipal)
|
public static ClaimsPrincipal MergeUserPrincipal(ClaimsPrincipal? existingPrincipal, ClaimsPrincipal? additionalPrincipal)
|
||||||
{
|
{
|
||||||
var newPrincipal = new ClaimsPrincipal();
|
var newPrincipal = new ClaimsPrincipal();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue