zoukankan      html  css  js  c++  java
  • 使用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

  • 相关阅读:
    php的下载与安装
    apache 的下载与配置
    Composer 安装与使用
    WampServer 的安装
    SQLServer主键约束和唯一约束的区别
    Mac如何修改Host
    解决XCode11中 [Application] The app delegate must implement the window property if it wants to use a main storyboard file.的问题
    Xcode10.1 import头文件无法索引
    iOS
    如何让windows服务器IIS支持.apk/.ipa文件下载
  • 原文地址:https://www.cnblogs.com/50614090/p/2284959.html
Copyright © 2011-2022 走看看