使用自定义身份验证方案授权失败 - asp.net 核 3.0



我正在使用:

services.AddAuthentication().AddCookie("custom", options=> {
options.LoginPath = "/admin/in";
options.LogoutPath = "/admin/out";
});

ConfigureServices注册自定义身份验证方案。

当我尝试在我的控制器中使用此方案时:

[Authorize(Roles = "admin", AuthenticationSchemes = "custom")]
public ActionResult Index()
{
return View();
}

它只是将我重定向到登录页面,即使用户已登录并且具有正确的角色。

现在,如果我将AuthenticationScheme更改为:

[Authorize(Roles = "admin", AuthenticationSchemes = "Identity.Application")]
public ActionResult Index()
{
return View();
}

一切正常,用户已获得授权。

自定义身份验证方案的设置中是否缺少某些内容? 如何让我的自定义身份验证方案以与Identity.Application相同的方式工作?

谢谢

PS:我正在使用 asp.net 核心3.0预览版

9
设置options.ForwardAuthenticate = "Identity.Application";

似乎解决了这个问题:

public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication().AddCookie("custom", options=> {
options.LoginPath = "/admin/in";
options.LogoutPath = "/admin/out";
options.AccessDeniedPath= "/admin/in";
options.ForwardAuthenticate = "Identity.Application";
});
}

这真的应该记录在案

相关内容

  • 没有找到相关文章

最新更新