asp.net win IIS下cookie讀取不區分大小寫如何處理
阿新 • • 發佈:2020-11-26
在做一個多系統sso單點登入時,遇到一個坑(asp.net):
Request.Cookies[key]
讀取cookie時不區分大小寫。由於最初專案多沒有做到統一sso tokenkey的大小寫設定,導致部分系統登入出現問題。
經過測試發現讀取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); } } }
記錄一下。