【问题标题】:asp.net session logoutasp.net 会话注销
【发布时间】:2012-06-05 00:31:16
【问题描述】:

我已经制作了一个 asp.net 应用程序。此应用程序具有会话变量,可显示用户已登录或已注销。 如果有什么方法可以在不进入单个页面的情况下捕获会话到期,并且一旦注销,用户可以重定向到登录(重新登录)页面?

我的 asp.net 类能否继承一些基类,该基类可以有一些抽象方法来检查会话是否存在。

请建议我一些架构来做到这一点。

提前致谢。

【问题讨论】:

    标签: asp.net session session-timeout


    【解决方案1】:

    此应用程序具有显示用户已登录或已注销的会话变量。

    这可以通过检查HttpContext.Current.Request.IsAuthenticated 属性来实现。

    如果有任何方法可以捕获会话到期而无需转到单个页面并且一旦 > 已注销的用户可以重定向到登录(重新登录)页面?

    在您的应用程序web.config 中配置以下元素以限制\允许访问您网站上的资源\页面\目录:

    <authorization> 
       <allow .../>
       <deny .../>
    </authorization>
    

    http://msdn.microsoft.com/en-us/library/8d82143t

    并且,配置 FormsAuthentication defaulturl and loginurl attributes 以将用户重定向到受限资源。

    【讨论】:

      【解决方案2】:

      您可以使用 global.asax 的会话结束事件:

      void  Session_End(Object sender, EventArgs E) {
      // your code....
      }
      

      当会话过期时调用这个事件。

      【讨论】:

        猜你喜欢
        • 2012-02-15
        • 2012-02-21
        • 2013-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-26
        • 1970-01-01
        • 2013-06-06
        相关资源
        最近更新 更多