asp.net-mvc – 在asp.net mvc中设置为Session的持久cookie到期时间?
我正在使用ASP.NET MVC,并希望能够在返回站点时自动记录某人(与该站点完全相同). 当用户首次注册或登录时,我按如下方式设置cookie: FormsAuthenticationTicket ticket = new FormsAuthenticationTicket( 1,"playerid",DateTime.Now,DateTime.Now.AddMinutes(1),//This will be set to a longer period in live... true,Username + "|" + item.PlayerID.ToString(),FormsAuthentication.FormsCookiePath); string encTicket = FormsAuthentication.Encrypt(ticket); Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName,encTicket)); 如果我通过以用户身份登录进行测试,然后查看Firebug中的Cookies选项卡,则将到期时间设置为会话.如果我关闭浏览器然后回到我的网站,我就不再登录了.这是我期望的,因为当浏览器关闭时会话结束(但这不是我想要发生的事情!). 但是,如果我登录并浏览该网站,则过了一分钟后,到期时间不再显示为会话,而是显示为实际日期戳.如果我然后关闭浏览器并返回我的网站,我将自动登录. 总之,似乎我的到期时间设置为会话,直到我规定的实际到期日期通过(在这种情况下为1分钟)并且我在网站上一直处于活动状态(我正在使用滑动到期). 任何想法我如何将我的到期设置为我在FormsAuthentication票证中的陈述(而不是显示为会话)? 解决方法您应该通过设置Expires 属性来创建存储在客户端硬盘驱动器上的
persistent cookie :
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName,encTicket) { // setting the Expires property to the same value in the future // as the forms authentication ticket validity Expires = ticket.Expiration }; Response.Cookies.Add(cookie); 确保为cookie和表单身份验证票证指定了相同的到期超时.现在,当您查看FireBug时,您将看到在发布cookie时,将来会设置Expires属性,这将使cookie保持不变并在浏览器重启后继续运行: Set-Cookie: ASPXAUTH=...; Expires=Tue,15-Jan-2014 21:47:38 GMT; Path=/; HttpOnly (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET MVC编辑器模板和Html.EditorFor(…) – 如何消除类
- asp.net-mvc-3 – 具有最佳实践的示例N层ASP.NET MVC3应用程
- ASP.NET TextBox LostFocus事件
- asp.net neatUpload 支持大文件上传组件
- 详解ASP.NET Core 中的框架级依赖注入
- asp.net-mvc-4 – AngularJs,DropZone.Js,MVC4 – 拖放,预览
- asp.net-mvc – asp.net mvc如何正确测试控制器
- asp.net – 为不同项目中的所有Web应用程序网页添加命名空间
- asp.net core 实现一个简单的仓储的方法
- 经典ASP和UTF-8
- asp.net-mvc-2 – 如何在ASP.NET MVC2中为Html.L
- asp.net-web-api – Web API / MVC 6中的安全JSO
- asp.net – 如何访问Global.asax静态成员?
- asp.net-mvc – ASP.NET MVC – Partial View可以
- asp.net 无刷新分页实例代码
- 实现ASP.NET多文件上传程序代码
- asp.net-mvc – 从MVC版本1迁移后,ASP.NET MVC 2
- asp.net 汉字转换拼音及首字母实现代码
- asp.net-core – 在Visual Studio CTP2中的ASP.V
- ASP.NET MVC4安全性,身份验证和授权