我正在使用ASP.NET Core2.x。我正在处理“拒绝访问”页面(按角色)页面。这是我的Admin Controller:
[Authorize(Roles = "Administrator")]
public class AdminController : Controller
{
}
这是我在人力资源和财务部的其他角色:
[Authorize(Roles = "HRManager,Finance")]
public class SalaryController : Controller
{
}
我在ConfigureServices(Startup.cs)中放入了代码AddAuthentication
services.AddAuthentication ()
.Services.ConfigureApplicationCookie (options => {
options.AccessDeniedPath = "/Account/AccessDenied";
});
当具有HR&Finance角色的用户尝试访问管理菜单时,我希望这些用户将重定向到AccessDenied页面,但不会。重定向到
/Account/Login?ReturnUrl=%2FAdmin
我还准备了一个空的AccessDenied.cshtml页面,但它永远无法到达它。
对此问题有解决方案吗?或者我错过了AddAuthentication中的某些内容?
针对.net core 2.0尝试此操作
将此添加到ConfigureServices方法中的startup.cs中
services.ConfigureApplicationCookie(options => options.LoginPath = "/Account/LogIn");