【发布时间】:2021-07-01 04:20:33
【问题描述】:
在OnValidatePrincipal,我有以下代码:
async (context) =>
{
await context.HttpContext.SignOutAsync();
context.Principal = null;
context.Response.StatusCode = 452;
await context.Response.WriteAsJsonAsync(new { Description = "Sample description"});
await context.Response.Body.FlushAsync();
}
但由于某种原因,请求继续到它最初指向的位置,执行操作及其背后的代码。
我不确定这是否是一个错误,但已经编写了响应 - 继续执行请求最初指向的操作/端点似乎毫无意义。有没有办法阻止这种情况?
即使正在执行的操作返回不同的响应,ASP.NET Core 也正确返回了我在 OnValidatePrincipal 中写入的响应,可能是由于刷新它,锁定了流以防止进一步写入?
【问题讨论】:
标签: c# asp.net-core authentication cookies asp.net-core-middleware