如何保持不同会话变量的超时时间不同
Posted
技术标签:
【中文标题】如何保持不同会话变量的超时时间不同【英文标题】:How do I keep timeout time of different session variables different 【发布时间】:2014-08-27 16:00:22 【问题描述】:我正在使用两个会话变量sessionLogin
和sessionPageName
。 SessionLogin
将保存登录用户的登录名,sessionPageName
将保存当前加载的页面的名称。随着sessionLogin
超时发生,页面被重定向到登录页面。 sessionPageName
的目的是将用户重定向到用户在 sessionLogin
超时之前最后查看的页面。
我的问题是如果sessionLogin
过期,考虑到会话超时间隔在 20 分钟之后,sessionPageName
也会过期吗?如何将sessionPageName
的超时时间延长至例如 30 分钟并将sessionLogin
的生命周期保持为默认值?
或者,asp.net C# 中是否有办法将用户带到他们在sessionLogin
过期之前查看的最后一个页面,从而导致在我的代码中直接进入登录页面?
【问题讨论】:
***.com/questions/6069502/… 您应该了解表单身份验证在 ASP.NET 中的工作原理。听起来您正在尝试重新发明***。 【参考方案1】:如果使用的是FormAuthentication
,则您正在寻找ReturnUrl
。
FormsAuthentication.RedirectFromLoginPage
(使用 ReturnUrl QueryString 参数)
FormAuthenticationmsdn 链接
【讨论】:
感谢您的评论。我按照你的方式做了。我有一个使用表单的母版页,并且在其内容占位符中使用了表单身份验证。但是当会话到期并且用户被重定向到登录页面时,在用户登录后,用户在被重定向到登录页面之前会显示他上次浏览的页面的主页。我错过了什么吗?? 你在使用formauthentication吗? 我在会话中保留了登录用户名和密码,并使用了 FormsAuthentication.RedirectFromLoginPage(loginName, true);重定向到主页。现在,随着会话到期,用户被重定向到登录页面。在这里,当用户再次输入登录名和密码时,他被定向到主页,但我希望他定向到他上次查看的页面。我的 web.config 标签是 ::ReturnUrl
重定向到default.aspx
。您是否在查询字符串中获取此参数?以上是关于如何保持不同会话变量的超时时间不同的主要内容,如果未能解决你的问题,请参考以下文章
可以在 Python Flask 中为不同的用户创建不同的会话超时长度吗?