• 使用HttpModuleHttp模块实现cookie跨二级域名


    1、CookieModule的实现
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    
    namespace HttpModule
    {
        public class CookieModule : IHttpModule
        {
            public CookieModule()
            {
                //
                // TODO: Add constructor logic here
                //
            }
    
            public void Dispose()
            {
                
            }
    
            public void Init(HttpApplication context)
            {
                context.EndRequest += new EventHandler(context_EndRequest);
            }
    
            void context_EndRequest(object sender, EventArgs e)
            {
                HttpContext context = (sender as HttpApplication).Context;
                string cookieName = FormsAuthentication.FormsCookieName;
                HttpCookie cookie = context.Response.Cookies[cookieName];
                if (cookie != null)
                {
                    cookie.Domain = ".xys.cn";
                }
            }
        }
    }
    

     2、在web.config里配置http模块

    <system.web>
        <httpModules>
          <add name="HttpCookie" type="HttpModule.CookieModule"/>
        </httpModules>
        <compilation debug="true" targetFramework="4.0" />
    
        <authentication mode="Forms">
          <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
        </authentication>
    
        <membership>
          <providers>
            <clear/>
            <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
                 enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
                 maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
                 applicationName="/" />
          </providers>
        </membership>
    
        <profile>
          <providers>
            <clear/>
            <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
          </providers>
        </profile>
    
        <roleManager enabled="false">
          <providers>
            <clear/>
            <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
            <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
          </providers>
        </roleManager>
    
      </system.web>
    

    HTTP 模块介绍:http://msdn.microsoft.com/zh-cn/library/ms178468%28v=VS.80%29.aspx

  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
  • 原文地址:https://www.cnblogs.com/50614090/p/2284959.html
Copyright © 2020-2023  润新知