出现此问题的可能原因是在未授权时未处理请求。可以通过在Startup.cs文件中的Configure方法中添加以下代码来处理此问题:
app.Use(async (context, next) =>
{
if (context.Response.StatusCode == 401 && !context.Request.Path.StartsWithSegments("/api"))
{
context.Response.Redirect("/Account/Login");
}
else
{
await next();
}
});
此代码首先检查响应的状态代码是否为401(未经授权),并且请求的路径不是以“/api”开头。如果条件成立,则将响应重定向到登录页面。否则,继续到下一个中间件。
注意:如果您的网站使用身份验证方案,则可能需要调整重定向的路径。