Annotate Authorization.Core, Authorization.Policy with nullable (#22990)

Contributes to https://github.com/dotnet/aspnetcore/issues/5680
This commit is contained in:
Pranav K 2020-06-18 16:43:35 -07:00 committed by GitHub
parent a173be28fb
commit f3b370c1ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
30 changed files with 132 additions and 114 deletions

View File

@ -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>

View File

@ -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" />

View File

@ -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; }

View File

@ -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; }

View File

@ -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>

View File

@ -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);
} }
} }
} }

View File

@ -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;
} }
} }
} }

View File

@ -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)

View File

@ -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.

View File

@ -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();
} }
} }

View File

@ -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);
} }
} }
} }

View File

@ -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; }
} }
} }

View File

@ -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.

View File

@ -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);
} }

View File

@ -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.

View File

@ -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)
{ {

View File

@ -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);
} }
} }

View File

@ -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();
} }
} }

View File

@ -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);
} }
} }

View File

@ -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()
{ {

View File

@ -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>

View File

@ -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()
{ {

View File

@ -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" />

View File

@ -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

View File

@ -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);
} }
} }

View File

@ -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>

View File

@ -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()

View File

@ -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)
{ {

View File

@ -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" />.

View File

@ -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();