zoukankan      html  css  js  c++  java
  • asp.net win IIS下cookie读取不区分大小写如何处理

      在做一个多系统sso单点登录时,遇到一个坑(asp.net):

    Request.Cookies[key]
    

      读取cookie时不区分大小写。由于最初项目多没有做到统一sso token key的大小写设定,导致部分系统登录出现问题。

      经过测试发现读取cookie不区分,设置cookie区分。

      一轮操作猛如虎,得出如下解决方案:

      1、读取cookie:

    string GetCookie(string key)
    {
        string value = "";
        for (int i = 0; i <= Request.Cookies.Count - 1; i++)
        {
    	if (Request.Cookies.Keys.Get(i).Equals(key))
    	{
    	    res = Request.Cookies.Get(i).Value;
    	    break;
    	}
        }
        return value;
    }
    

      2、删除cookie(设置过期时间):

    void clearCookies(string key)
    {
        string[] keyList = Request.Cookies.AllKeys;
        foreach (string item in keyList)
        {
    	if (item.ToLower().Equals(key.ToLower()))
    	{
    	    HttpCookie cookie = new HttpCookie(item, "");
    	    cookie.Expires = DateTime.Now.AddDays(-1);
    	    Response.Cookies.Add(cookie);
    	}
        }
    }    
    

      记录一下。

  • 相关阅读:
    NOIp2018集训test-9-4
    「THUSC 2016」成绩单 & 方块消除 (区间dp)
    NOIp2018集训test-9-2(pm)
    NOIp2018集训test-9-2(am)
    NOIp2018集训test-9-1(pm)
    NOIp2018集训test-9-1(am)
    暑假集训test-8-31(pm)
    暑假集训test-8-31(am)
    暑假集训test-8-30
    day22 笔记
  • 原文地址:https://www.cnblogs.com/qyan/p/14042676.html
Copyright © 2011-2022 走看看