zoukankan      html  css  js  c++  java
  • 二级域名Cookie的问题及解决方法2

    用httpmodule在所有的处理过程之后,集中把问题一次性解决掉。

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    /// <summary>
    /// CorrectCookieDomainModule 的摘要说明
    /// </summary>
    public class CorrectCookieDomainModule:IHttpModule//继承IHttpModule接口
    {
        
    public CorrectCookieDomainModule()
        {
        }

        
    #region IHttpModule 成员

        
    public void Dispose() { }

        
    public void Init(HttpApplication context)
        {
            
    //在Init中订阅事件
            context.EndRequest += new EventHandler(context_EndRequest);
        }

        
    /// <summary>
        
    /// 在HTTP执行管线的最末端更正Cookie的Domain
        
    /// </summary>
        void context_EndRequest(object sender, EventArgs e)
        {
            HttpContext context 
    = ((HttpApplication)sender).Context;
            
            
    string domain = ".cnblogs.com";
            
    string cookieName = FormsAuthentication.FormsCookieName;
            HttpCookie cookie 
    = context.Response.Cookies[cookieName];
            
    if (cookie != null)
            {
                
    //将Cookie的Domain更改为.cnblogs.com
                
    //这样就使Cookie能共享于所有的二级域名
                cookie.Domain = domain;

            }
        }

        
    #endregion
    }

    在web。config中配置

    <?xml version="1.0"?>
    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
      <system.web>
        <compilation debug="true"/>
        <httpModules>
          <add name="CorrectCookieDomainModule" type="CustomComponents.CorrectCookieDomainModule"/>
        </httpModules>
        <authentication mode="Windows"/>
      </system.web>
    </configuration>

  • 相关阅读:
    【SQL基础】三种类别语句
    【安装eclipse, 配置java环境教程】 编写第一个java程序
    【c++错误】类的语法错误 error c2533:constructors not allowed a return type(构造函数不允许返回一个类型)
    【经典算法大全】收集51种经典算法 初学者必备
    【费式搜寻法】
    【插补搜寻法】
    【基数排序(桶排序)】
    【字串核对】
    【老鼠走迷宫二】
    【稀疏矩阵】
  • 原文地址:https://www.cnblogs.com/aaa6818162/p/1497422.html
Copyright © 2011-2022 走看看