【发布时间】:2012-06-05 00:31:16
【问题描述】:
我已经制作了一个 asp.net 应用程序。此应用程序具有会话变量,可显示用户已登录或已注销。 如果有什么方法可以在不进入单个页面的情况下捕获会话到期,并且一旦注销,用户可以重定向到登录(重新登录)页面?
我的 asp.net 类能否继承一些基类,该基类可以有一些抽象方法来检查会话是否存在。
请建议我一些架构来做到这一点。
提前致谢。
【问题讨论】:
标签: asp.net session session-timeout
我已经制作了一个 asp.net 应用程序。此应用程序具有会话变量,可显示用户已登录或已注销。 如果有什么方法可以在不进入单个页面的情况下捕获会话到期,并且一旦注销,用户可以重定向到登录(重新登录)页面?
我的 asp.net 类能否继承一些基类,该基类可以有一些抽象方法来检查会话是否存在。
请建议我一些架构来做到这一点。
提前致谢。
【问题讨论】:
标签: asp.net session session-timeout
此应用程序具有显示用户已登录或已注销的会话变量。
这可以通过检查HttpContext.Current.Request.IsAuthenticated 属性来实现。
如果有任何方法可以捕获会话到期而无需转到单个页面并且一旦 > 已注销的用户可以重定向到登录(重新登录)页面?
在您的应用程序web.config 中配置以下元素以限制\允许访问您网站上的资源\页面\目录:
<authorization>
<allow .../>
<deny .../>
</authorization>
http://msdn.microsoft.com/en-us/library/8d82143t
并且,配置 FormsAuthentication defaulturl and loginurl attributes 以将用户重定向到受限资源。
【讨论】:
您可以使用 global.asax 的会话结束事件:
void Session_End(Object sender, EventArgs E) {
// your code....
}
当会话过期时调用这个事件。
【讨论】: