未授权时重定向

4

我正在开发一个ASP.NET Core 2.x应用程序。我正在处理未授权(通过角色)页面的拒绝访问页面。 这是我的管理控制器

[Authorize(Roles = "Administrator")]
public class AdminController : Controller
{
}

这是我在人力资源和财务方面的其他角色:

[Authorize(Roles = "HRManager,Finance")]
public class SalaryController : Controller
{
}

我将 AddAuthentication 代码放在 ConfigureServices (Startup.cs) 中。

services.AddAuthentication ()
        .Services.ConfigureApplicationCookie (options => {

            options.AccessDeniedPath = "/Account/AccessDenied";

        });

当HR & 财务人员尝试访问管理菜单时,我希望这些用户会被重定向到AccessDenied页面,但实际上未能如此。它被重定向到:

/Account/Login?ReturnUrl=%2FAdmin

我也准备了一个空的 AccessDenied.cshtml 页面,但它似乎从未到达过这个页面。
有什么解决办法吗? 还是我在 AddAuthentication 中漏掉了什么?
1个回答

2
在.net core 2.0中尝试以下操作:
将以下内容添加到startup.cs的ConfigureServices方法中。
services.ConfigureApplicationCookie(options => options.LoginPath = "/Account/LogIn");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接