0

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

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

4

2 回答 2

0

首先,请参阅此 SO 线程以获得您的答案

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

以下只是我对该答案的看法/意见。

恕我直言,我认为您需要重新考虑每种类型的“存储”的用途。表单身份验证正是为此目的 -对您认为需要保护的某些“内容”或“资源”进行身份验证。

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

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

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

  • 如果它是受保护的资源,则显示/访问应由您的身份验证方案控制
  • 如果它是易失性/不断变化的内容/持久性需求,那么会话或只是 cookie 可能适合账单(或更新的客户端存储
  • 如果它同时是(受保护的和易失的),那么首先进行身份验证,然后是适合易失/持久内容账单的任何机制。

嗯……

于 2013-06-05T12:05:30.723 回答
0

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

于 2013-06-05T11:59:18.000 回答