首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >让用户长时间登录ASP.NET 5网站

让用户长时间登录ASP.NET 5网站
EN

Stack Overflow用户
提问于 2015-10-06 17:06:11
回答 2查看 2.5K关注 0票数 9

我希望选择“记住我”选项的用户能够长时间登录我的网站(例如3个月,或者直到他们清除cookies)。目前我必须每隔20分钟左右重新登录一次。

我使用的是ASP.NET 5/ vnext / mvc 6 (beta 7)。我的网站是基于visual studio作为模板项目的代码。我知道其他问题也有类似的问题,但我不知道它在新的ASP.NET中是如何应用的。

我在Startup.ConfigureServices方法中有以下代码,但它似乎没有效果:

代码语言:javascript
复制
    services.ConfigureIdentityApplicationCookie(options =>
    {              
        options.ExpireTimeSpan = TimeSpan.FromDays(90);
        options.SlidingExpiration = true;
        options.AutomaticAuthentication = true;
        options.LoginPath = new PathString("/Account/Login");
        options.LogoutPath = new PathString("/Account/LogOff");
    });

谢谢

编辑

使用fiddler,登录的响应包含以下cookie数据:

响应发送了642字节的Cookie数据: Set-Cookie:.AspNet.Microsoft.AspNet.Identity.Application=CfDJ8P8cKnxL87ZMjh0duvm7eKbBbA_vf1ECr95KgPd4MNsKBj0_SljMLWLPNzNFIr4PQTG1ZjVyQ7cfFMEehcI5JZrOlVVHfZ_SD29jN1vdhsdUMPTysvhvo6RlnDHq5YwFdnTNqw-_ia4cGWk8Iw05PJHsQ0mws_e0DzWpX088kysJuU0LcNoyPA22nyMoGrK1RP1Bax_XwixdO6jLQx164lqRqVYi6ys3VVPJP0aLOg3w4CovxcAemgMQEhAcNUdP6Q0rnBmfBn7FZR_kNEgXoiMkNNgBDwUuVyiweU3fw5rzE-mmBPo2IYBJWRoaSzNLcUV5gSTpDT2n8IMh4nPlTzGrFIUgCpHDhpmXJJ3EneC5i-eVaLGeQG1FAIBZZ-oNlolwdkXi63bXpHuRME9cnYLTm3cDpfooXKq0_Rn7ls4lN-wCF5kGvz6ALruUaPWNERvcKlccix7o3B_-rj1q5yhn1bKO2vumArRaq-QpHb2djaN84IdFBOw1CSJLpeQKeP3qrdJD8-GYl6chvbJ4FbA;expires=Mon,2016年1月4日10:40:35 GMT;=/;httponly

您可以看到在最后的到期时间是90天,这是正确的,但它仍然会注销我在20分钟左右。

EN

回答 2

Stack Overflow用户

发布于 2018-08-31 05:26:48

也许你有密钥存储问题?如果cookie加密密钥存储正确,请检查您的日志。如果应用程序不能持久化密钥,它们将在重启后重新生成,因此所有登录都将无效。

https://docs.microsoft.com/pl-pl/aspnet/core/security/data-protection/configuration/default-settings?view=aspnetcore-2.1

若要在IIS上启用user profile,请检查应用程序池设置。如果你在windows7上运行,那么应用程序池的默认设置就会变得混乱。

票数 1
EN

Stack Overflow用户

发布于 2016-01-10 17:37:55

可以通过多种方式将cookies添加到Cookie集合中。以下示例显示了两种编写cookies的方法:

代码语言:javascript
复制
Response.Cookies["userName"].Value = "patrick";
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1);

HttpCookie aCookie = new HttpCookie("lastVisit");
aCookie.Value = DateTime.Now.ToString();
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie);
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32965911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档