[Fixes #3979] AuthorizationContext conflicts with type in Microsoft.AspNet.Authorization
This commit is contained in:
parent
726ebb7a05
commit
71a815be50
|
|
@ -6,9 +6,9 @@ using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Mvc.Filters
|
namespace Microsoft.AspNetCore.Mvc.Filters
|
||||||
{
|
{
|
||||||
public class AuthorizationContext : FilterContext
|
public class AuthorizationFilterContext : FilterContext
|
||||||
{
|
{
|
||||||
public AuthorizationContext(
|
public AuthorizationFilterContext(
|
||||||
ActionContext actionContext,
|
ActionContext actionContext,
|
||||||
IList<IFilterMetadata> filters)
|
IList<IFilterMetadata> filters)
|
||||||
: base(actionContext, filters)
|
: base(actionContext, filters)
|
||||||
|
|
@ -7,6 +7,6 @@ namespace Microsoft.AspNetCore.Mvc.Filters
|
||||||
{
|
{
|
||||||
public interface IAsyncAuthorizationFilter : IFilterMetadata
|
public interface IAsyncAuthorizationFilter : IFilterMetadata
|
||||||
{
|
{
|
||||||
Task OnAuthorizationAsync(AuthorizationContext context);
|
Task OnAuthorizationAsync(AuthorizationFilterContext context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,6 @@ namespace Microsoft.AspNetCore.Mvc.Filters
|
||||||
{
|
{
|
||||||
public interface IAuthorizationFilter : IFilterMetadata
|
public interface IAuthorizationFilter : IFilterMetadata
|
||||||
{
|
{
|
||||||
void OnAuthorization(AuthorizationContext context);
|
void OnAuthorization(AuthorizationFilterContext context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ namespace Microsoft.AspNetCore.Mvc.Filters
|
||||||
{
|
{
|
||||||
public int Order { get; set; }
|
public int Order { get; set; }
|
||||||
|
|
||||||
public virtual Task OnAuthorizationAsync(AuthorizationContext context)
|
public virtual Task OnAuthorizationAsync(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
if (context == null)
|
if (context == null)
|
||||||
{
|
{
|
||||||
|
|
@ -26,11 +26,11 @@ namespace Microsoft.AspNetCore.Mvc.Filters
|
||||||
return TaskCache.CompletedTask;
|
return TaskCache.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void OnAuthorization(AuthorizationContext context)
|
public virtual void OnAuthorization(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual bool HasAllowAnonymous(AuthorizationContext context)
|
protected virtual bool HasAllowAnonymous(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
if (context == null)
|
if (context == null)
|
||||||
{
|
{
|
||||||
|
|
@ -40,7 +40,7 @@ namespace Microsoft.AspNetCore.Mvc.Filters
|
||||||
return context.Filters.Any(item => item is IAllowAnonymousFilter);
|
return context.Filters.Any(item => item is IAllowAnonymousFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void Fail(AuthorizationContext context)
|
protected virtual void Fail(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
if (context == null)
|
if (context == null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
public AuthorizationPolicy Policy { get; private set; }
|
public AuthorizationPolicy Policy { get; private set; }
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public virtual async Task OnAuthorizationAsync(Filters.AuthorizationContext context)
|
public virtual async Task OnAuthorizationAsync(Filters.AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
if (context == null)
|
if (context == null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
private IFilterMetadata[] _filters;
|
private IFilterMetadata[] _filters;
|
||||||
private FilterCursor _cursor;
|
private FilterCursor _cursor;
|
||||||
|
|
||||||
private AuthorizationContext _authorizationContext;
|
private AuthorizationFilterContext _authorizationContext;
|
||||||
|
|
||||||
private ResourceExecutingContext _resourceExecutingContext;
|
private ResourceExecutingContext _resourceExecutingContext;
|
||||||
private ResourceExecutedContext _resourceExecutedContext;
|
private ResourceExecutedContext _resourceExecutedContext;
|
||||||
|
|
@ -186,7 +186,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
{
|
{
|
||||||
_cursor.Reset();
|
_cursor.Reset();
|
||||||
|
|
||||||
_authorizationContext = new AuthorizationContext(Context, _filters);
|
_authorizationContext = new AuthorizationFilterContext(Context, _filters);
|
||||||
return InvokeAuthorizationFilterAsync();
|
return InvokeAuthorizationFilterAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
public static void BeforeOnAuthorizationAsync(
|
public static void BeforeOnAuthorizationAsync(
|
||||||
this DiagnosticSource diagnosticSource,
|
this DiagnosticSource diagnosticSource,
|
||||||
AuthorizationContext authorizationContext,
|
AuthorizationFilterContext authorizationContext,
|
||||||
IAsyncAuthorizationFilter filter)
|
IAsyncAuthorizationFilter filter)
|
||||||
{
|
{
|
||||||
if (diagnosticSource.IsEnabled("Microsoft.AspNetCore.Mvc.BeforeOnAuthorization"))
|
if (diagnosticSource.IsEnabled("Microsoft.AspNetCore.Mvc.BeforeOnAuthorization"))
|
||||||
|
|
@ -60,7 +60,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
public static void AfterOnAuthorizationAsync(
|
public static void AfterOnAuthorizationAsync(
|
||||||
this DiagnosticSource diagnosticSource,
|
this DiagnosticSource diagnosticSource,
|
||||||
AuthorizationContext authorizationContext,
|
AuthorizationFilterContext authorizationContext,
|
||||||
IAsyncAuthorizationFilter filter)
|
IAsyncAuthorizationFilter filter)
|
||||||
{
|
{
|
||||||
if (diagnosticSource.IsEnabled("Microsoft.AspNetCore.Mvc.AfterOnAuthorization"))
|
if (diagnosticSource.IsEnabled("Microsoft.AspNetCore.Mvc.AfterOnAuthorization"))
|
||||||
|
|
@ -78,7 +78,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
public static void BeforeOnAuthorization(
|
public static void BeforeOnAuthorization(
|
||||||
this DiagnosticSource diagnosticSource,
|
this DiagnosticSource diagnosticSource,
|
||||||
AuthorizationContext authorizationContext,
|
AuthorizationFilterContext authorizationContext,
|
||||||
IAuthorizationFilter filter)
|
IAuthorizationFilter filter)
|
||||||
{
|
{
|
||||||
if (diagnosticSource.IsEnabled("Microsoft.AspNetCore.Mvc.BeforeOnAuthorization"))
|
if (diagnosticSource.IsEnabled("Microsoft.AspNetCore.Mvc.BeforeOnAuthorization"))
|
||||||
|
|
@ -96,7 +96,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
public static void AfterOnAuthorization(
|
public static void AfterOnAuthorization(
|
||||||
this DiagnosticSource diagnosticSource,
|
this DiagnosticSource diagnosticSource,
|
||||||
AuthorizationContext authorizationContext,
|
AuthorizationFilterContext authorizationContext,
|
||||||
IAuthorizationFilter filter)
|
IAuthorizationFilter filter)
|
||||||
{
|
{
|
||||||
if (diagnosticSource.IsEnabled("Microsoft.AspNetCore.Mvc.AfterOnAuthorization"))
|
if (diagnosticSource.IsEnabled("Microsoft.AspNetCore.Mvc.AfterOnAuthorization"))
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ namespace Microsoft.AspNetCore.Mvc
|
||||||
{
|
{
|
||||||
public int Order { get; set; }
|
public int Order { get; set; }
|
||||||
|
|
||||||
public virtual void OnAuthorization(AuthorizationContext filterContext)
|
public virtual void OnAuthorization(AuthorizationFilterContext filterContext)
|
||||||
{
|
{
|
||||||
if (filterContext == null)
|
if (filterContext == null)
|
||||||
{
|
{
|
||||||
|
|
@ -25,7 +25,7 @@ namespace Microsoft.AspNetCore.Mvc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void HandleNonHttpsRequest(AuthorizationContext filterContext)
|
protected virtual void HandleNonHttpsRequest(AuthorizationFilterContext filterContext)
|
||||||
{
|
{
|
||||||
// only redirect for GET requests, otherwise the browser might not propagate the verb and request
|
// only redirect for GET requests, otherwise the browser might not propagate the verb and request
|
||||||
// body correctly.
|
// body correctly.
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ namespace Microsoft.AspNetCore.Mvc.Cors.Internal
|
||||||
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public async Task OnAuthorizationAsync(Filters.AuthorizationContext context)
|
public async Task OnAuthorizationAsync(Filters.AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
if (context == null)
|
if (context == null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Mvc.Cors.Internal
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public Task OnAuthorizationAsync(AuthorizationContext context)
|
public Task OnAuthorizationAsync(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
if (context == null)
|
if (context == null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override bool ShouldValidate(AuthorizationContext context)
|
protected override bool ShouldValidate(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
if (context == null)
|
if (context == null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
||||||
_logger = loggerFactory.CreateLogger<ValidateAntiforgeryTokenAuthorizationFilter>();
|
_logger = loggerFactory.CreateLogger<ValidateAntiforgeryTokenAuthorizationFilter>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task OnAuthorizationAsync(AuthorizationContext context)
|
public async Task OnAuthorizationAsync(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
if (context == null)
|
if (context == null)
|
||||||
{
|
{
|
||||||
|
|
@ -48,7 +48,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual bool ShouldValidate(AuthorizationContext context)
|
protected virtual bool ShouldValidate(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
if (context == null)
|
if (context == null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -274,7 +274,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
Assert.NotNull(authorizationContext.Result);
|
Assert.NotNull(authorizationContext.Result);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Filters.AuthorizationContext GetAuthorizationContext(
|
private Filters.AuthorizationFilterContext GetAuthorizationContext(
|
||||||
Action<ServiceCollection> registerServices,
|
Action<ServiceCollection> registerServices,
|
||||||
bool anonymous = false)
|
bool anonymous = false)
|
||||||
{
|
{
|
||||||
|
|
@ -325,13 +325,13 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
auth.Setup(c => c.AuthenticateAsync("Basic")).ReturnsAsync(basicPrincipal);
|
auth.Setup(c => c.AuthenticateAsync("Basic")).ReturnsAsync(basicPrincipal);
|
||||||
auth.Setup(c => c.AuthenticateAsync("Fails")).ReturnsAsync(null);
|
auth.Setup(c => c.AuthenticateAsync("Fails")).ReturnsAsync(null);
|
||||||
|
|
||||||
// AuthorizationContext
|
// AuthorizationFilterContext
|
||||||
var actionContext = new ActionContext(
|
var actionContext = new ActionContext(
|
||||||
httpContext: httpContext.Object,
|
httpContext: httpContext.Object,
|
||||||
routeData: new RouteData(),
|
routeData: new RouteData(),
|
||||||
actionDescriptor: new ActionDescriptor());
|
actionDescriptor: new ActionDescriptor());
|
||||||
|
|
||||||
var authorizationContext = new Filters.AuthorizationContext(
|
var authorizationContext = new Filters.AuthorizationFilterContext(
|
||||||
actionContext,
|
actionContext,
|
||||||
Enumerable.Empty<IFilterMetadata>().ToList()
|
Enumerable.Empty<IFilterMetadata>().ToList()
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -254,7 +254,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var filter = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
|
var filter = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
|
||||||
filter.Setup(f => f.OnAuthorization(It.IsAny<AuthorizationContext>())).Verifiable();
|
filter.Setup(f => f.OnAuthorization(It.IsAny<AuthorizationFilterContext>())).Verifiable();
|
||||||
|
|
||||||
var invoker = CreateInvoker(filter.Object);
|
var invoker = CreateInvoker(filter.Object);
|
||||||
|
|
||||||
|
|
@ -262,7 +262,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
await invoker.InvokeAsync();
|
await invoker.InvokeAsync();
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
filter.Verify(f => f.OnAuthorization(It.IsAny<AuthorizationContext>()), Times.Once());
|
filter.Verify(f => f.OnAuthorization(It.IsAny<AuthorizationFilterContext>()), Times.Once());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -271,8 +271,8 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
// Arrange
|
// Arrange
|
||||||
var filter = new Mock<IAsyncAuthorizationFilter>(MockBehavior.Strict);
|
var filter = new Mock<IAsyncAuthorizationFilter>(MockBehavior.Strict);
|
||||||
filter
|
filter
|
||||||
.Setup(f => f.OnAuthorizationAsync(It.IsAny<AuthorizationContext>()))
|
.Setup(f => f.OnAuthorizationAsync(It.IsAny<AuthorizationFilterContext>()))
|
||||||
.Returns<AuthorizationContext>(context => Task.FromResult(true))
|
.Returns<AuthorizationFilterContext>(context => Task.FromResult(true))
|
||||||
.Verifiable();
|
.Verifiable();
|
||||||
|
|
||||||
var invoker = CreateInvoker(filter.Object);
|
var invoker = CreateInvoker(filter.Object);
|
||||||
|
|
@ -282,7 +282,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
filter.Verify(
|
filter.Verify(
|
||||||
f => f.OnAuthorizationAsync(It.IsAny<AuthorizationContext>()),
|
f => f.OnAuthorizationAsync(It.IsAny<AuthorizationFilterContext>()),
|
||||||
Times.Once());
|
Times.Once());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -294,8 +294,8 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
var filter1 = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
|
var filter1 = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
|
||||||
filter1
|
filter1
|
||||||
.Setup(f => f.OnAuthorization(It.IsAny<AuthorizationContext>()))
|
.Setup(f => f.OnAuthorization(It.IsAny<AuthorizationFilterContext>()))
|
||||||
.Callback<AuthorizationContext>(c => c.Result = challenge)
|
.Callback<AuthorizationFilterContext>(c => c.Result = challenge)
|
||||||
.Verifiable();
|
.Verifiable();
|
||||||
|
|
||||||
var filter2 = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
|
var filter2 = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
|
||||||
|
|
@ -306,7 +306,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
await invoker.InvokeAsync();
|
await invoker.InvokeAsync();
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
filter1.Verify(f => f.OnAuthorization(It.IsAny<AuthorizationContext>()), Times.Once());
|
filter1.Verify(f => f.OnAuthorization(It.IsAny<AuthorizationFilterContext>()), Times.Once());
|
||||||
Assert.False(invoker.ControllerFactory.CreateCalled);
|
Assert.False(invoker.ControllerFactory.CreateCalled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -318,8 +318,8 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
var filter1 = new Mock<IAsyncAuthorizationFilter>(MockBehavior.Strict);
|
var filter1 = new Mock<IAsyncAuthorizationFilter>(MockBehavior.Strict);
|
||||||
filter1
|
filter1
|
||||||
.Setup(f => f.OnAuthorizationAsync(It.IsAny<AuthorizationContext>()))
|
.Setup(f => f.OnAuthorizationAsync(It.IsAny<AuthorizationFilterContext>()))
|
||||||
.Returns<AuthorizationContext>((context) =>
|
.Returns<AuthorizationFilterContext>((context) =>
|
||||||
{
|
{
|
||||||
context.Result = challenge;
|
context.Result = challenge;
|
||||||
return Task.FromResult(true);
|
return Task.FromResult(true);
|
||||||
|
|
@ -335,7 +335,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
filter1.Verify(
|
filter1.Verify(
|
||||||
f => f.OnAuthorizationAsync(It.IsAny<AuthorizationContext>()),
|
f => f.OnAuthorizationAsync(It.IsAny<AuthorizationFilterContext>()),
|
||||||
Times.Once());
|
Times.Once());
|
||||||
|
|
||||||
Assert.False(invoker.ControllerFactory.CreateCalled);
|
Assert.False(invoker.ControllerFactory.CreateCalled);
|
||||||
|
|
@ -359,8 +359,8 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
var authorizationFilter1 = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
|
var authorizationFilter1 = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
|
||||||
authorizationFilter1
|
authorizationFilter1
|
||||||
.Setup(f => f.OnAuthorization(It.IsAny<AuthorizationContext>()))
|
.Setup(f => f.OnAuthorization(It.IsAny<AuthorizationFilterContext>()))
|
||||||
.Callback<AuthorizationContext>(c => { throw expected; })
|
.Callback<AuthorizationFilterContext>(c => { throw expected; })
|
||||||
.Verifiable();
|
.Verifiable();
|
||||||
|
|
||||||
// None of these filters should run
|
// None of these filters should run
|
||||||
|
|
@ -385,7 +385,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
// Assert
|
// Assert
|
||||||
Assert.Same(expected, thrown);
|
Assert.Same(expected, thrown);
|
||||||
exceptionFilter.Verify(f => f.OnException(It.IsAny<ExceptionContext>()), Times.Never());
|
exceptionFilter.Verify(f => f.OnException(It.IsAny<ExceptionContext>()), Times.Never());
|
||||||
authorizationFilter1.Verify(f => f.OnAuthorization(It.IsAny<AuthorizationContext>()), Times.Once());
|
authorizationFilter1.Verify(f => f.OnAuthorization(It.IsAny<AuthorizationFilterContext>()), Times.Once());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -400,8 +400,8 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
var authorizationFilter = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
|
var authorizationFilter = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
|
||||||
authorizationFilter
|
authorizationFilter
|
||||||
.Setup(f => f.OnAuthorization(It.IsAny<AuthorizationContext>()))
|
.Setup(f => f.OnAuthorization(It.IsAny<AuthorizationFilterContext>()))
|
||||||
.Callback<AuthorizationContext>(c => c.Result = challenge.Object)
|
.Callback<AuthorizationFilterContext>(c => c.Result = challenge.Object)
|
||||||
.Verifiable();
|
.Verifiable();
|
||||||
|
|
||||||
var resultFilter = new Mock<IResultFilter>(MockBehavior.Strict);
|
var resultFilter = new Mock<IResultFilter>(MockBehavior.Strict);
|
||||||
|
|
@ -412,7 +412,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
await invoker.InvokeAsync();
|
await invoker.InvokeAsync();
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
authorizationFilter.Verify(f => f.OnAuthorization(It.IsAny<AuthorizationContext>()), Times.Once());
|
authorizationFilter.Verify(f => f.OnAuthorization(It.IsAny<AuthorizationFilterContext>()), Times.Once());
|
||||||
challenge.Verify(c => c.ExecuteResultAsync(It.IsAny<ActionContext>()), Times.Once());
|
challenge.Verify(c => c.ExecuteResultAsync(It.IsAny<ActionContext>()), Times.Once());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1848,8 +1848,8 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
var authorizationFilter = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
|
var authorizationFilter = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
|
||||||
authorizationFilter
|
authorizationFilter
|
||||||
.Setup(f => f.OnAuthorization(It.IsAny<AuthorizationContext>()))
|
.Setup(f => f.OnAuthorization(It.IsAny<AuthorizationFilterContext>()))
|
||||||
.Callback<AuthorizationContext>((c) =>
|
.Callback<AuthorizationFilterContext>((c) =>
|
||||||
{
|
{
|
||||||
c.Result = _result;
|
c.Result = _result;
|
||||||
});
|
});
|
||||||
|
|
@ -2283,7 +2283,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
_expectedMaxAllowedErrors = maxAllowedErrors;
|
_expectedMaxAllowedErrors = maxAllowedErrors;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnAuthorization(AuthorizationContext context)
|
public void OnAuthorization(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
Assert.NotNull(context.ModelState.MaxAllowedErrors);
|
Assert.NotNull(context.ModelState.MaxAllowedErrors);
|
||||||
Assert.Equal(_expectedMaxAllowedErrors, context.ModelState.MaxAllowedErrors);
|
Assert.Equal(_expectedMaxAllowedErrors, context.ModelState.MaxAllowedErrors);
|
||||||
|
|
|
||||||
|
|
@ -1191,7 +1191,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
||||||
|
|
||||||
private class UnsupportedFiltersController : IExceptionFilter, IAuthorizationFilter, IAsyncResourceFilter
|
private class UnsupportedFiltersController : IExceptionFilter, IAuthorizationFilter, IAsyncResourceFilter
|
||||||
{
|
{
|
||||||
public void OnAuthorization(AuthorizationContext context)
|
public void OnAuthorization(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -149,16 +149,16 @@ namespace Microsoft.AspNetCore.Mvc
|
||||||
|
|
||||||
private class CustomRequireHttpsAttribute : RequireHttpsAttribute
|
private class CustomRequireHttpsAttribute : RequireHttpsAttribute
|
||||||
{
|
{
|
||||||
protected override void HandleNonHttpsRequest(AuthorizationContext filterContext)
|
protected override void HandleNonHttpsRequest(AuthorizationFilterContext filterContext)
|
||||||
{
|
{
|
||||||
filterContext.Result = new HttpStatusCodeResult(StatusCodes.Status404NotFound);
|
filterContext.Result = new HttpStatusCodeResult(StatusCodes.Status404NotFound);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static AuthorizationContext CreateAuthorizationContext(HttpContext ctx)
|
private static AuthorizationFilterContext CreateAuthorizationContext(HttpContext ctx)
|
||||||
{
|
{
|
||||||
var actionContext = new ActionContext(ctx, new RouteData(), new ActionDescriptor());
|
var actionContext = new ActionContext(ctx, new RouteData(), new ActionDescriptor());
|
||||||
return new AuthorizationContext(actionContext, new IFilterMetadata[0]);
|
return new AuthorizationFilterContext(actionContext, new IFilterMetadata[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -127,7 +127,7 @@ namespace Microsoft.AspNetCore.Mvc.Cors.Internal
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private AuthorizationContext GetAuthorizationContext(
|
private AuthorizationFilterContext GetAuthorizationContext(
|
||||||
FilterDescriptor[] filterDescriptors,
|
FilterDescriptor[] filterDescriptors,
|
||||||
RequestHeaders headers = null,
|
RequestHeaders headers = null,
|
||||||
bool isPreflight = false)
|
bool isPreflight = false)
|
||||||
|
|
@ -150,13 +150,13 @@ namespace Microsoft.AspNetCore.Mvc.Cors.Internal
|
||||||
var method = isPreflight ? CorsConstants.PreflightHttpMethod : "GET";
|
var method = isPreflight ? CorsConstants.PreflightHttpMethod : "GET";
|
||||||
httpContext.Request.Method = method;
|
httpContext.Request.Method = method;
|
||||||
|
|
||||||
// AuthorizationContext
|
// AuthorizationFilterContext
|
||||||
var actionContext = new ActionContext(
|
var actionContext = new ActionContext(
|
||||||
httpContext: httpContext,
|
httpContext: httpContext,
|
||||||
routeData: new RouteData(),
|
routeData: new RouteData(),
|
||||||
actionDescriptor: new ActionDescriptor() { FilterDescriptors = filterDescriptors });
|
actionDescriptor: new ActionDescriptor() { FilterDescriptors = filterDescriptors });
|
||||||
|
|
||||||
var authorizationContext = new AuthorizationContext(
|
var authorizationContext = new AuthorizationFilterContext(
|
||||||
actionContext,
|
actionContext,
|
||||||
filterDescriptors.Select(filter => filter.Filter).ToList()
|
filterDescriptors.Select(filter => filter.Filter).ToList()
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
||||||
var actionContext = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor());
|
var actionContext = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor());
|
||||||
actionContext.HttpContext.Request.Method = httpMethod;
|
actionContext.HttpContext.Request.Method = httpMethod;
|
||||||
|
|
||||||
var context = new AuthorizationContext(actionContext, new[] { filter });
|
var context = new AuthorizationFilterContext(actionContext, new[] { filter });
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
await filter.OnAuthorizationAsync(context);
|
await filter.OnAuthorizationAsync(context);
|
||||||
|
|
@ -62,7 +62,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
||||||
var actionContext = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor());
|
var actionContext = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor());
|
||||||
actionContext.HttpContext.Request.Method = httpMethod;
|
actionContext.HttpContext.Request.Method = httpMethod;
|
||||||
|
|
||||||
var context = new AuthorizationContext(actionContext, new[] { filter });
|
var context = new AuthorizationFilterContext(actionContext, new[] { filter });
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
await filter.OnAuthorizationAsync(context);
|
await filter.OnAuthorizationAsync(context);
|
||||||
|
|
@ -86,7 +86,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
||||||
var actionContext = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor());
|
var actionContext = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor());
|
||||||
actionContext.HttpContext.Request.Method = "POST";
|
actionContext.HttpContext.Request.Method = "POST";
|
||||||
|
|
||||||
var context = new AuthorizationContext(actionContext, new IFilterMetadata[]
|
var context = new AuthorizationFilterContext(actionContext, new IFilterMetadata[]
|
||||||
{
|
{
|
||||||
filter,
|
filter,
|
||||||
new IgnoreAntiforgeryTokenAttribute(),
|
new IgnoreAntiforgeryTokenAttribute(),
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
||||||
var actionContext = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor());
|
var actionContext = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor());
|
||||||
actionContext.HttpContext.Request.Method = httpMethod;
|
actionContext.HttpContext.Request.Method = httpMethod;
|
||||||
|
|
||||||
var context = new AuthorizationContext(actionContext, new[] { filter });
|
var context = new AuthorizationFilterContext(actionContext, new[] { filter });
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
await filter.OnAuthorizationAsync(context);
|
await filter.OnAuthorizationAsync(context);
|
||||||
|
|
@ -62,7 +62,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
||||||
var actionContext = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor());
|
var actionContext = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor());
|
||||||
actionContext.HttpContext.Request.Method = "POST";
|
actionContext.HttpContext.Request.Method = "POST";
|
||||||
|
|
||||||
var context = new AuthorizationContext(actionContext, new IFilterMetadata[]
|
var context = new AuthorizationFilterContext(actionContext, new IFilterMetadata[]
|
||||||
{
|
{
|
||||||
filter,
|
filter,
|
||||||
new IgnoreAntiforgeryTokenAttribute(),
|
new IgnoreAntiforgeryTokenAttribute(),
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ namespace CorsWebSite
|
||||||
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
|
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
|
||||||
public class AllRequestsBlockingAuthorizationFilter : Attribute, IAuthorizationFilter
|
public class AllRequestsBlockingAuthorizationFilter : Attribute, IAuthorizationFilter
|
||||||
{
|
{
|
||||||
public void OnAuthorization(AuthorizationContext context)
|
public void OnAuthorization(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
context.Result = new ContentResult()
|
context.Result = new ContentResult()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ namespace FiltersWebSite
|
||||||
{
|
{
|
||||||
public class AuthorizeUserAttribute : AuthorizationFilterAttribute
|
public class AuthorizeUserAttribute : AuthorizationFilterAttribute
|
||||||
{
|
{
|
||||||
public override void OnAuthorization(AuthorizationContext context)
|
public override void OnAuthorization(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
if (context.ActionDescriptor.DisplayName == "FiltersWebSite.ProductsController.GetPrice")
|
if (context.ActionDescriptor.DisplayName == "FiltersWebSite.ProductsController.GetPrice")
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ namespace FiltersWebSite
|
||||||
{
|
{
|
||||||
public class BlockAnonymous : AuthorizationFilterAttribute
|
public class BlockAnonymous : AuthorizationFilterAttribute
|
||||||
{
|
{
|
||||||
public override void OnAuthorization(AuthorizationContext context)
|
public override void OnAuthorization(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
if (!HasAllowAnonymous(context))
|
if (!HasAllowAnonymous(context))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ namespace FiltersWebSite
|
||||||
{
|
{
|
||||||
public class ControllerAuthorizationFilter : AuthorizeUserAttribute
|
public class ControllerAuthorizationFilter : AuthorizeUserAttribute
|
||||||
{
|
{
|
||||||
public override void OnAuthorization(AuthorizationContext context)
|
public override void OnAuthorization(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
context.HttpContext.Response.Headers.Append("filters", "On Controller Authorization Filter - OnAuthorization");
|
context.HttpContext.Response.Headers.Append("filters", "On Controller Authorization Filter - OnAuthorization");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ namespace FiltersWebSite
|
||||||
{
|
{
|
||||||
public class GlobalAuthorizationFilter : AuthorizationFilterAttribute
|
public class GlobalAuthorizationFilter : AuthorizationFilterAttribute
|
||||||
{
|
{
|
||||||
public override void OnAuthorization(AuthorizationContext context)
|
public override void OnAuthorization(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
if (context.ActionDescriptor.DisplayName == "FiltersWebSite.ProductsController.GetPrice")
|
if (context.ActionDescriptor.DisplayName == "FiltersWebSite.ProductsController.GetPrice")
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ namespace FiltersWebSite
|
||||||
{
|
{
|
||||||
public class ThrowingAuthorizationFilter : AuthorizationFilterAttribute
|
public class ThrowingAuthorizationFilter : AuthorizationFilterAttribute
|
||||||
{
|
{
|
||||||
public override void OnAuthorization(AuthorizationContext context)
|
public override void OnAuthorization(AuthorizationFilterContext context)
|
||||||
{
|
{
|
||||||
throw new InvalidProgramException("Authorization Filter Threw");
|
throw new InvalidProgramException("Authorization Filter Threw");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue