如何通过更改 ASP.NET Core 中的 Url 来阻止对控制器的访问?

How to block access to controller via changing Url in ASP.NET Core?

我想在用户点击按钮时访问页面。

通过更改 url,例如 ..../Member/Batch/Create 我希望我的站点将用户重定向到另一个页面。

如何通过 ASP.NET Core MVC 3.1 执行此操作?

使用:

<a href="@Url.Action("Batch", "Member", null)">Create Batch</a>

查看此answer and help了解更多详情。

您的意思是我们只能通过按钮访问控制器吗?

如果这是您的要求,您可以尝试检查 Request.Headers["Referer"].ToString() 以确保只有哪个 url 可以访问此控制器。

如下所示:

    public IActionResult Privacy()
    {
        var re = Request.Headers["Referer"].ToString();
        if (Request.Headers["Referer"].ToString() != "https://localhost:44342/home/index")
        {
            return View("Error");
        }
        else
        {
            return View();
        }

    }

结果: