.net core MVC 基于cookie验证用户是否登录,但是在.net core WebAapi 中验证失败,请求是带有登录cookie的 但是User.Identity.IsAuthentication
总是false
.net core webapi 是不是有什么不同呢?
配置都是正确的,
services.AddCors(options =>
{
options.AddPolicy("AllowAllOrigin", builder =>
{
builder.WithOrigins("http://xxx", "https://xxx")
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, o =>
{
......
});
services.AddApiVersioning(option =>
{
option.DefaultApiVersion = new Microsoft.AspNetCore.Mvc.ApiVersion(1, 0);
option.AssumeDefaultVersionWhenUnspecified = true;
option.ReportApiVersions = true;
});
///////////////////////
app.UseAuthentication();
app.UseMvc()
根据你提供的这个demo
,没有问题。建议你检查一下有关认证这块的代码。
大佬好棒,果然被大佬言中了。