zoukankan      html  css  js  c++  java
  • FormsAuthentication与Session超时时间不一的解决方法

    因为FormsAuthentication 和 Session 的cookies不一样,造成了FormsAuthentication 还能进入,而 session已经超时的问题。

    最好的办法就是当让FormsAuthentication 执行logout,然后再转到同一个页面。

    可以定制一个module来解决此问题:

    public class CheckSessionModule: IHttpModule
    {
        public void Init(HttpApplication app)
        {
            ctx.Application.AcquireRequestState += this.OnAcquireRequestState;
        }
        public void Dispose() {}
        public void OnAcquireRequestState(Object sender, EventArgs args)
        {
            if ((HttpContext.Current.User.Identity.IsAuthenticated == true) &&
    
    (HttpContext.Current.Session.IsNewSession == true))
            {
                FormsAuthentication.SignOut();
                HttpContext.Current.Response.Redirect(HttpContext.Current.Request.Url.ToString(), false);
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
        }
    }
  • 相关阅读:
    从原生web组件到框架组件源码(二)
    从原生web组件到框架组件源码(一)
    拖拽滚动视图(一)
    SVG研究之路(一)下
    运算符
    编码
    格式化输出
    循环语句
    条件语句
    Python基础
  • 原文地址:https://www.cnblogs.com/hnsongbiao/p/4462003.html
Copyright © 2011-2022 走看看