zoukankan      html  css  js  c++  java
  • Asp.net 子域共享cookie

    最近项目遇到要共享cookie的问题,本来后台保存session用的是Redis来保存数据的。所以只需要2个站点发的ASP.NET_SessionId是相同的就可以,并且它的Domain 是父级域名。实现code:

    protected void Session_Start(object sender, EventArgs e)  
            {  
                Response.Cookies["ASP.NET_SessionId"].Value = Session.SessionID.ToString();  
                Response.Cookies["ASP.NET_SessionId"].Domain = ".aa.com";  
            }  

    网上有类似参考地址:Asp.Net集群中Session共享

    很多时候项目的cookie name 都是需要替换默认的ASP.NET_SessionId(需要读取配置),同时我们在开发的时候也不知道具体的父级域名(需要用正则表达式),所以具体实现code如下

    protected void Session_Start(object sender, EventArgs e)
            {
                SessionStateSection config = (SessionStateSection)WebConfigurationManager.GetSection("system.web/sessionState");
                string cookieName = config.CookieName;
                Response.Cookies[cookieName].Value = Session.SessionID.ToString();
                string url = Request.Url.ToString();
                Regex reg = new Regex("([^.]*).([^.]*).com");
                Match m = reg.Match(url);
                if (m.Groups.Count > 2)
                {
                    Response.Cookies[cookieName].Domain = $".{m.Groups[2].Value}.com";
                }
            }
  • 相关阅读:
    windows下载
    vue-element-admin改造步骤
    js处理url
    好用的工具
    数据库设计工具
    虚拟机使用
    Mac上编译C
    MAC系统配置
    SQL语法
    SSMP一次请求数据处理过程分析
  • 原文地址:https://www.cnblogs.com/majiang/p/6384909.html
Copyright © 2011-2022 走看看