我最近将我的asp.net核心mvc web应用程序(.NET 4.6.1)部署到共享托管服务器。以下是我用来设置会话cookie参数的内容:
services.AddIdentity<ApplicationUser, IdentityRole>(config =>
{
config.Cookies.ApplicationCookie.LoginPath = "/login";
config.Cookies.ApplicationCookie.CookieName = "MyCookie";
config.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromHours(1.0);
config.Cookies.ApplicationCookie.SlidingExpiration = true;
}
但是,我注意到:
1)打开Chrome开发者工具时,&#39; Expires / Max Age&#39;列显示&#34;会话&#34;我的auth cookie与实际超时值(我设置为1小时)相比。
2)几分钟后,我自动在托管网站上注销(即使会话设置为1小时后到期)。 - 此问题仍然存在
你能告诉我我做错了什么,或者我错过了什么吗?
编辑:
我还有另一个会话,但它只是用来保存关于客户端的轻量级数据。
services.AddMemoryCache();
services.AddSession(options => {
options.CookieName = "myOtherCookie";
options.IdleTimeout = TimeSpan.FromDays(1.0);
});
我的登录代码:
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, true, lockoutOnFailure: true);
我的配置方法的片段:
app.UseStaticFiles();
app.UseIdentity();
app.UseSession();
app.UseMvc(
routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
}
);
非常感谢
特里