【发布时间】:2009-01-27 13:50:30
【问题描述】:
假设我已经登录到一个 Web 应用程序。我在页面 Default.aspx 上。如果 iis 重新启动,那么我需要重新登录才能使用该应用程序。
如果 IIS 重新启动,是否可以返回到同一页面?
【问题讨论】:
假设我已经登录到一个 Web 应用程序。我在页面 Default.aspx 上。如果 iis 重新启动,那么我需要重新登录才能使用该应用程序。
如果 IIS 重新启动,是否可以返回到同一页面?
【问题讨论】:
您如何验证您的用户?使用表单身份验证会存储一个客户端 cookie,该 cookie 可以在 IIS 重置后继续存在。您是否在会话状态中存储了任何身份验证信息?
您还可以将用户重定向到与登录页面不同的页面。采取以下网址http://example.com/Login.aspx?ReturnUrl=%2fDefault.aspx。
此 URL 可用于在用户登录后将其重定向到 Default.aspx 页面。假设您使用 Forms 身份验证,则可以使用 FormsAuthentication.RedirectFromLoginPage(userName, false); 重定向它们false 参数可防止创建持久性 cookie。
【讨论】:
如果您的意思是 ASP.Net 应用程序域回收,那么您的问题是您正在丢失会话状态数据,对吗?如果是这样,那么将会话数据存储在 StateServer 或 SQL Server 中如何?默认值为“处理中”,因此当应用程序域回收时它会被清除。
【讨论】:
如果您在用户访问的每个页面上设置一个 cookie,说明他们在哪个页面上,那么在您的 OnLoggedIn 事件中,您可以检查此 cookie 的存在,并将用户重定向到该页面 - 我们使用类似的机制一次循环登录多个域。
【讨论】: