在Session到期的同时设置ASP.NET Form Authentication登录cookie到期

时间:2013-06-05 11:33:46

标签: asp.net web-config form-authentication asp.net-session

我的ASP.NET网站使用FormsAuthentication和标准Session机制。在其中一个网页中,处理(点击刷新按钮网格重新绑定)基于会话价值。如果我让屏幕长时间打开'然后尝试刷新。什么都没有刷新。因为会话值到期了。

那么有什么办法,我可以在web.config中设置配置设置并同步身份验证cookie超时和会话超时?

2 个答案:

答案 0 :(得分:0)

在web.config中,设置sessionState元素的超时值,以及authentication元素中的相同值。

答案 1 :(得分:0)

首先,请参阅this SO thread for your answer

您可以尝试“同步” - 也许可以通过使用相同的方法登录和设置会话变量,但这不是真正的“设置”....

以下是我的观点/意见,扩展了答案。

恕我直言,我认为你需要重新思考每种“存储”的用途。表单身份验证正是为了这个目的 - 身份验证到您认为需要保护的某些“内容”或“资源”。

会话更恰如其分 - 例如因为某些数据/资源是“易变的”(x时间内的变化) - 通常的例子是,如果您有一个电子商务网站,则必须跟踪产品可用性的库存变化(库存变化因为购买/退货而产生的用户,而其他用户正在浏览/购物)。那个或更简单的用户将项目添加到购物车的过程(会话和/或cookie,又称“持久性”)。

重要的是要知道在客户端(浏览器)上,cookie是会话的主要机制(或无cookie会话的URL)。

因此,根据您所指的内容/资源,根据它们属于哪两种类型更改流程。

  • 如果它是受保护的资源,则显示/访问应由您的身份验证方案控制
  • 如果它是易变的/改变内容/持久性需求,那么会话或只是cookie可能适合账单(或更新client side storage
  • 如果它是(受保护的和易变的)那么,首先验证,然后根据易失性/持久内容的账单适合任何机制。

H个....

相关问题