Flow endpoint and httpcontext always from authz middleware (#22672)
This commit is contained in:
parent
4d7a79ad64
commit
8541bf6c98
|
|
@ -61,8 +61,7 @@ namespace Microsoft.AspNetCore.Authorization
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Note that the resource will be null if there is no matched endpoint
|
var authorizeResult = await policyEvaluator.AuthorizeAsync(policy, authenticateResult, context, resource: context);
|
||||||
var authorizeResult = await policyEvaluator.AuthorizeAsync(policy, authenticateResult, context, resource: endpoint);
|
|
||||||
|
|
||||||
var authorizationMiddlewareResultHandler = context.RequestServices.GetRequiredService<IAuthorizationMiddlewareResultHandler>();
|
var authorizationMiddlewareResultHandler = context.RequestServices.GetRequiredService<IAuthorizationMiddlewareResultHandler>();
|
||||||
await authorizationMiddlewareResultHandler.HandleAsync(_next, context, policy, authorizeResult);
|
await authorizationMiddlewareResultHandler.HandleAsync(_next, context, policy, authorizeResult);
|
||||||
|
|
|
||||||
|
|
@ -314,13 +314,13 @@ namespace Microsoft.AspNetCore.Authorization.Test
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task AuthZResourceShouldBeEndpoint()
|
public async Task AuthZResourceShouldBeHttpContextAndHaveHEndpoint()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
object resource = null;
|
HttpContext resource = null;
|
||||||
var policy = new AuthorizationPolicyBuilder().RequireAssertion(c =>
|
var policy = new AuthorizationPolicyBuilder().RequireAssertion(c =>
|
||||||
{
|
{
|
||||||
resource = c.Resource;
|
resource = c.Resource as HttpContext;
|
||||||
return true;
|
return true;
|
||||||
}).Build();
|
}).Build();
|
||||||
var policyProvider = new Mock<IAuthorizationPolicyProvider>();
|
var policyProvider = new Mock<IAuthorizationPolicyProvider>();
|
||||||
|
|
@ -335,7 +335,9 @@ namespace Microsoft.AspNetCore.Authorization.Test
|
||||||
await middleware.Invoke(context);
|
await middleware.Invoke(context);
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.Equal(endpoint, resource);
|
Assert.NotNull(resource);
|
||||||
|
Assert.Equal(context, resource);
|
||||||
|
Assert.Equal(endpoint, resource.GetEndpoint());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue