C# 将所有未经授权的用户重定向到未经授权的视图

C# 将所有未经授权的用户重定向到未经授权的视图,c#,.net,asp.net-core-mvc,authorization,.net-5,C#,.net,Asp.net Core Mvc,Authorization,.net 5,我们构建的应用程序目前还没有实现标识 作为临时快速修复程序,我希望将所有未经授权的用户重定向到未经授权的页面 它适用于HomeController,但我想实现一个中间件或其他东西,对所有控制器进行全局检查 [Authorize] public class HomeController : Controller { private readonly IUserResolverService _userService; public HomeController(IUserReso

我们构建的应用程序目前还没有实现标识

作为临时快速修复程序,我希望将所有未经授权的用户重定向到未经授权的页面

它适用于HomeController,但我想实现一个中间件或其他东西,对所有控制器进行全局检查

[Authorize]
public class HomeController : Controller
{
    private readonly IUserResolverService _userService;

    public HomeController(IUserResolverService userService)
    {
        _userService = userService;
    }

    public IActionResult Index()
    {
        if (_userService.GetCurrentUser() == null) // unauthorized user
            return View("Unauthorized");

        return View();
    }

    public IActionResult Error()
    {
        return View();
    }
}

丑陋,但作为快速修复,我设法在
\u Layout.cshtml
中重定向到
主页
控制器的
索引
操作,如下所示:

@inject IUserResolverService userService
@{
    var currentUser = userService.GetCurrentUser();
    if (currentUser == null) {
        Context.Response.Redirect("/");
        return;
    }