【发布时间】:2020-03-10 00:25:54
【问题描述】:
我正在开发 ASP.NET Core 2.x。我正在处理取消授权(按角色)页面的访问被拒绝页面。 这是我的管理员控制器:
[Authorize(Roles = "Administrator")]
public class AdminController : Controller
{
}
这是我在 HR 和 Fin 的其他角色:
[Authorize(Roles = "HRManager,Finance")]
public class SalaryController : Controller
{
}
我将代码 AddAuthentication 放在 ConfigureServices (Startup.cs) 中
services.AddAuthentication ()
.Services.ConfigureApplicationCookie (options => {
options.AccessDeniedPath = "/Account/AccessDenied";
});
当来自 HR & Finance 角色的用户尝试访问管理员菜单时,我希望这些用户会重定向到 AccessDenied 页面,但事实并非如此。它重定向到
/Account/Login?ReturnUrl=%2FAdmin
我还准备了一个空的 AccessDenied.cshtml 页面,但它始终无法访问。
这个问题有什么解决办法吗? 或者我错过了 AddAuthentication 中的某些内容?
【问题讨论】:
标签: c# authentication asp.net-core-2.0