.net core “无法更改”;“拒绝访问路径”;使用Azure AD身份验证而不使用标识时
使用Azure AD身份验证时,我无法更改.net core “无法更改”;“拒绝访问路径”;使用Azure AD身份验证而不使用标识时,.net-core,asp.net-core-2.2,.net Core,Asp.net Core 2.2,使用Azure AD身份验证时,我无法更改帐户/AccessDenied的默认“拒绝访问”路径。我需要配置哪些设置来覆盖此设置? 我看过几篇文章,包括但还没有成功 我当前的startup.cs代码如下所示- services.AddAuthentication(AzureADDefaults.AuthenticationScheme) .AddAzureAD(options => Configuration.Bind("AzureAd", options))
帐户/AccessDenied
的默认“拒绝访问”路径。我需要配置哪些设置来覆盖此设置?
我看过几篇文章,包括但还没有成功
我当前的startup.cs
代码如下所示-
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => Configuration.Bind("AzureAd", options))
.AddCookie(options =>
{
options.AccessDeniedPath = "/Error/AccessDenied";
options.Events = new CookieAuthenticationEvents
{
OnRedirectToAccessDenied = ctx =>
{
var requestPath = ctx.Request.Path;
if (requestPath.StartsWithSegments("/Account"))
{
ctx.Response.Redirect("/Error/AccessDenied?ReturnUrl=" + requestPath + ctx.Request.QueryString);
}
else
{
ctx.Response.Redirect("/Login?ReturnUrl=" + requestPath + ctx.Request.QueryString);
}
return Task.CompletedTask;
}
};
});
此重定向不起作用,事件也未激发。我尝试过使用服务设置cookie选项。configureapplicationcokie
,但这也不起作用(文档中说这是用于标识模块的)
我错过了什么?
我的asp.net项目使用的是.net core 2.2,它的模板是从Visual Studio模板生成的。检查我的答案,看是否有帮助。检查我的答案,看是否有帮助。