未经授权时重定向

问题描述 投票:2回答:1

我正在使用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中的某些内容?

c# authentication asp.net-core-2.0
1个回答
1
投票

针对.net core 2.0尝试此操作

将此添加到ConfigureServices方法中的startup.cs中

services.ConfigureApplicationCookie(options => options.LoginPath = "/Account/LogIn");
© www.soinside.com 2019 - 2024. All rights reserved.