我正在开发一个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 中漏掉了什么?