asp.net – ASP .NET核心Cookie身份验证到期时返回时从时间戳更改为“会话”
|
我使用ASP .NET Core RC1与Facebook身份验证和silding窗口cookie过期设置如下: app.UseIdentity(); app.UseFacebookAuthentication(); 和 services.AddIdentity<ApplicationUser,IdentityRole>((options =>
{
options.Cookies.ApplicationCookie.CookieName = "myauthcookie";
options.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromDays(5);
options.Cookies.ApplicationCookie.SlidingExpiration = true;
}))
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
这在用户首次登录时工作正常 – cookie过期设置正确.但是,当用户返回页面时,cookie的到期时间设置为“会话”,因此实际上用户必须重新验证每次其他访问. 为什么会这样?我没有正确配置吗? 更新: 另外,我没有在https上运行.这可能是一个因素吗? 解决方法简答设置isPersistent:调用SignInManager.ExternalLoginSignInAsync时为true. 细节 在ASP.NET Core Web Application模板中,AccountController.ExternalLoginCallback方法包含以下代码: _signInManager.ExternalLoginSignInAsync(
info.LoginProvider,info.ProviderKey,isPersistent: true); <------ set a persistent cookie.
如果我们在调用ExternalLoginSignInAsync时设置了isPersistent:true,那么这个启动配置…… services.AddIdentity<ApplicationUser,IdentityRole>(options =>
{
options.Cookies.ApplicationCookie.CookieName = "MyApplicationCookie";
options.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromDays(5);
options.Cookies.ApplicationCookie.SlidingExpiration = true;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
…导致此应用程序cookie … …在浏览器会话中持续存在. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net dropdownlist – 在db值之前添加空行
- 长时间运行的任务 – 最佳实践 – ASP.NET 4.0,C
- asp.net-mvc – angular js和asp.net mvc 4示例应
- asp.net-mvc – EnumDataType属性在ASP.NET MVC中
- asp.net-mvc – 单元测试ASP.Net MVC Action结果
- asp.net – 如何在.net中读取Elastic Beanstalk环
- ASP.NET Web API可以在与MVC相同的URL上工作吗?
- asp.net-mvc – 在ASP.NET MVC中获取当前操作/控
- asp.net 4.0:是否有相当于ClientIDMode的INPUT的
- asp.net – Wiki Content是否可移植?
