В моем методе контроллера у меня есть:
public class HomeController : Controller
{
[Authorisation(),HttpGet]
public IActionResult Index()
{
return View("~/Views/Home/Index.cshtml");
}
}
В моем фильтре авторизации у меня есть:
public void OnAuthorization(AuthorizationFilterContext context)
{
…..
context.HttpContext.Response.StatusCode = StatusCodes.Status401Unauthorized;
return;
…..
Когда он нажимает код выше в моем фильтре авторизации.Код по-прежнему продолжается для просмотра.Помещая точку останова в представление, если я затем делаю следующее в ближайшем окне:
this.ControllerContext.HttpContext.Response.StatusCode
Это возвращает мне 401, как и ожидалось.
обратно в мой файл startup.cs, который я имею:
app.Use(async (context, next) =>
{
await next.Invoke();
if (context.Response.StatusCode == 401)
{
context.Response.Redirect("/user/signin/");
}
});
Я не понимаю, почему контроллер переходит к представлению при этом условии.