asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net – 浏览器关闭后的身份验证/会话cookie删除大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
浏览器关闭后,Cookie需要保留哪些具体步骤?现在我有:

> createPersistentCookie在LoggedIn事件中设置为true.
> MachineKey指定.
>窗体滑动过期设置为true.

只要浏览器打开,用户将保持登录状态,但一旦关闭浏览器,并且无需多长时间,用户将需要重新登录.我失踪了什么

编辑:
我经历了马拉布塔指出的文章(见下面的评论),这使我对票是否确实有IsPersistent标志感兴趣.解密的票证如下所示:
System.Web.Security.FormsAuthentication.Decrypt(request.Cookies时[System.Web.Security.FormsAuthentication.FormsCookiename].价值)
{} System.Web.Security.FormsAuthenticationTicket
CookiePath:“/”
到期日:{19/08/2010 17:27:14}
已过期:假
IsPersistent:true
IssueDate:{19/07/2010 17:27:14}
名称:“亚历克斯”
用户数据: ””
版本:2
所有的细节是正确的,对应于我在LoggedIn事件中设置的.我可以直接从cookie中获取更多的cookie值,与此相同.然而,一旦关闭浏览器,cookie就会丢失.

然而,我注意到的是,由于某种原因,携带车票的cookie的日期重置.首先,我无法覆盖web.config中的设置,所以在LoggedIn事件结束时,Expires属性是发布日期后的4000分钟,而不是我以编程方式设置的一个月.然后在页面加载后,我使用FormsAuthentication.FormsCookiename检索的Cookie具有01/01/0001的Expires属性.我想也许这是问题在哪里?任何想法都不胜感激.

编辑#2:
我正在更改标题和标签以包括会话,因为它原来与问题/解决方案相关

解决方法

所以我找到了解决方案,最终.事实证明,认证cookie不是这样的问题(它保留正确,或者如果处理程序没有删除它,则错误地决定用户没有登录,基于缺少的会话).问题是Session Cookie丢失了,或者没有被正确识别.所以修复是在登录时手动添加会话cookie,如下所示:
httpCookie authCookie = new httpCookie("ASP.NET_SessionId",Session.SessionID);
authCookie.Domain = ".mydomain.com";
authCookie.Expires = datetiR_386_11845@e.Now.AddMonths(1);
Response.Cookies.Add(authCookiE);

现在当浏览器再次打开时,会话被正确识别,用户会话恢复.

大佬总结

以上是大佬教程为你收集整理的asp.net – 浏览器关闭后的身份验证/会话cookie删除全部内容,希望文章能够帮你解决asp.net – 浏览器关闭后的身份验证/会话cookie删除所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。