C# ASP.NET核心标识不会重定向到正确的登录页
按此方式配置,它不工作C# ASP.NET核心标识不会重定向到正确的登录页,c#,asp.net-core-identity,asp.net-core-2.2,asp.net-core-configuration,C#,Asp.net Core Identity,Asp.net Core 2.2,Asp.net Core Configuration,按此方式配置,它不工作 services .AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie(options => { options.ExpireTimeSpan = TimeSpan.FromMinutes(5); options.LoginPath = $"/logon"
services
.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.ExpireTimeSpan = TimeSpan.FromMinutes(5);
options.LoginPath = $"/logon";
options.LogoutPath = $"/logoff";
options.AccessDeniedPath = $"/accessdenied";
options.SlidingExpiration = true;
})
以这种方式配置它的工作方式:
services.ConfigureApplicationCookie(options =>
{
options.Cookie.Name = "Caldr.Auth";
options.LoginPath = $"/logon";
options.LogoutPath = $"/logoff";
options.AccessDeniedPath = $"/accessdenied";
});
services
.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
我希望两人都有同样的行为。显然不是。Bug或我不知道如何配置它?:-)
任何想法。在发布我的问题时,我也配置/添加了身份框架。因此,它可能是多种因素的混合,可能无法正常工作 工作解决办法: 配置:
var authenticationBuilder = services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.LoginPath = $"/logon";
options.LogoutPath = $"/logoff";
options.AccessDeniedPath = $"/accessdenied";
});
ConfigureSocialLogins(authenticationBuilder);
实际登录(即通过写入cookie)
专用异步任务签名用户(AppUser AppUser)
{
var索赔=新列表
{
新索赔(ClaimTypes.NameIdentifier、appUser.Email),
新索赔(ClaimTypes.Name、appUser.Displayname??appUser.Email),
新索赔(ClaimTypes.Email、appUser.Email),
};
var claimsIdentity=新的claimsIdentity(索赔、CookieAuthenticationDefaults.AuthenticationScheme);
var claimsPrincipal=新的claimsPrincipal(索赔实体);
等待HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme,claimsPrincipal,new AuthenticationProperties());
}
注意CookieAuthenticationDefaults.AuthenticationScheme的所有用法。在发布我的问题时,我也配置/添加了identity framework。因此,它可能是多种因素的混合,可能无法正常工作 工作解决办法: 配置:
var authenticationBuilder = services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.LoginPath = $"/logon";
options.LogoutPath = $"/logoff";
options.AccessDeniedPath = $"/accessdenied";
});
ConfigureSocialLogins(authenticationBuilder);
实际登录(即通过写入cookie)
专用异步任务签名用户(AppUser AppUser)
{
var索赔=新列表
{
新索赔(ClaimTypes.NameIdentifier、appUser.Email),
新索赔(ClaimTypes.Name、appUser.Displayname??appUser.Email),
新索赔(ClaimTypes.Email、appUser.Email),
};
var claimsIdentity=新的claimsIdentity(索赔、CookieAuthenticationDefaults.AuthenticationScheme);
var claimsPrincipal=新的claimsPrincipal(索赔实体);
等待HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme,claimsPrincipal,new AuthenticationProperties());
}
注意CookieAuthenticationDefaults.AuthenticationScheme的所有用法