注销和登录后的会话变量

本文关键字:会话 变量 登录 注销 | 更新日期: 2024-11-05 13:56:58

有些答案很接近,但不是我遇到的问题。以下是我为导致问题而采取的步骤:

  1. 登录我们的网站。 -- 设置会话变量。
  2. 重定向到默认页面发生正常。 -- 会话变量正确,因为数据显示正确。
  3. 注销网站。 -- 已正确重定向到登录页面。
  4. 再次登录。 -- 再次设置会话变量。
  5. 重定向到默认页面。 -- 会话变量为空。 数据显示不正确。

以下是我在登录期间将变量放入会话的方式。

Session.Add("company", companyPrikey);

这是我在默认页面中引用会话的方式

if (Session["company"] != null)

即使我看到Session.Add在第二次登录期间正在运行,默认页面如果找到Session["company"]运行时null Page_Load().

我看过Session.SessionID,它们在每次登录时都是相同的。

任何让用户离开网站(导航到不同的URL,关闭选项卡,关闭IE)都可以解决问题,他们可以再次正确登录。

--编辑--

重定向仅在 URL 中

Login.aspx?ReturnUrl=~/History.aspx

登录完成,然后返回到历史记录页面。

注销和登录后的会话变量

注销

时似乎未正确删除会话。因此,空检查失败,并且在后续登录时不会为变量提供新值。

如果您还没有注销,请尝试注销Session.Abandon()。这将在页面完成处理时关闭会话,即不要在放弃代码之后直接重定向到登录页面。

更多信息: http://msdn.microsoft.com/en-us/library/ms524310%28VS.90%29.aspx