Mar*_*rds 9 c# asp.net asp.net-mvc asp.net-core
我希望选择"记住我"选项的用户长时间(例如3个月,或直到他们清除cookie)登录我的网站.目前我必须每20分钟左右再次登录.
我正在使用ASP.NET 5/vnext/mvc 6(beta 7).我的网站基于Visual Studio作为模板项目的代码.我知道其他问题也有类似的问题,但我不知道它在新的ASP.NET中是如何应用的.
我在我的Startup.ConfigureServices方法中有这个代码,但它似乎没有效果:
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");
});
Run Code Online (Sandbox Code Playgroud)
谢谢
编辑
使用fiddler,登录时的响应包含此cookie数据:
响应发送的642个字节的Cookie的数据:设置Cookie:.AspNet.Microsoft.AspNet.Identity.Application = CfDJ8P8cKnxL87ZMjh0duvm7eKbBbA_vf1ECr95KgPd4MNsKBj0_SljMLWLPNzNFIr4PQTG1ZjVyQ7cfFMEehcI5JZrOlVVHfZ_SD29jN1vdhsdUMPTysvhvo6RlnDHq5YwFdnTNqw-_ia4cGWk8Iw05PJHsQ0mws_e0DzWpX088kysJuU0LcNoyPA22nyMoGrK1RP1Bax_XwixdO6jLQx164lqRqVYi6ys3VVPJP0aLOg3w4CovxcAemgMQEhAcNUdP6Q0rnBmfBn7FZR_kNEgXoiMkNNgBDwUuVyiweU3fw5rzE-mmBPo2IYBJWRoaSzNLcUV5gSTpDT2n8IMh4nPlTzGrFIUgCpHDhpmXJJ3EneC5i-eVaLGeQG1FAIBZZ-oNlolwdkXi63bXpHuRME9cnYLTm3cDpfooXKq0_Rn7ls4lN-wCF5kGvz6ALruUaPWNERvcKlccix7o3B_-rj1q5yhn1bKO2vumArRaq-QpHb2djaN84IdFBOw1CSJLpeQKeP3qrdJD8-GYl6chvbJ4FbA; expires =周一,2016年1月4日10:40:35 GMT; 路径= /; 仅Http
你可以看到最后到期时间是90天,这是正确的,但它仍然会在20分钟左右登出我.
小智 -3
您可以通过多种方式将Cookie添加到 Cookie 集合中。下面的例子展示了两种写入cookie的方法:
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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1599 次 |
| 最近记录: |