授权不是使用 Cookie 对核心 2.0 asp.net 操作进行身份验证



我正在 Asp.net 核心 2.0 mvc 模板中构建一个 Web 应用程序,我将 ExpireTimeSpan 设置为 365 天,但是当我关闭浏览器并在几分钟后我回到网站时, 它将我重定向到登录路径,我检查存储在浏览器中的cookie 我看到cookie设置为365天后,这里我的意思是我在哪里犯了错误?

在我的配置服务方法中:

public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlite("Data Source=DataBaseContext.db"));
services.AddIdentity<ApplicationUser, IdentityRole>(option =>
{
option.Password.RequireDigit = false;
option.Password.RequiredLength = 5;
option.Password.RequireLowercase = false;
option.Password.RequireNonAlphanumeric = false;
option.Password.RequireUppercase = false;
option.User.RequireUniqueEmail = false;
}
)
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders(); 
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie();
services.ConfigureApplicationCookie(Option => {
Option.LoginPath = "/Account/UserChalenge";
Option.ExpireTimeSpan = TimeSpan.FromDays(365);
Option.SlidingExpiration = true;
});
// Add application services.
services.AddTransient<IEmailSender, EmailSender>();
services.AddDetection();
services.AddMvc().AddSessionStateTempDataProvider().AddCookieTempDataProvider();
services.AddSession();

}

并在配置方法中:

public void Configure(IApplicationBuilder app, IHostingEnvironment env )
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseAuthentication();
app.UseSession();
// ... use mvc template
});

}

只需联系您的托管服务提供商即可在 IIS 设置中设置加载用户配置文件 = true

最新更新