private void Set(HttpCookieCollection cookieCollection, HttpCookie cookie) { if (cookieCollection.AllKeys.Contains(cookie.Name)) { cookieCollection.Remove(cookie.Name); } cookieCollection.Add(cookie); }
public void TestCollection () { HttpCookieCollection col = new HttpCookieCollection (); HttpCookie cookie = new HttpCookie ("cookie", "value"); col.Add (cookie); Assert.AreEqual ("cookie", col["cookie"].Name, "Name is the key"); col.Remove (cookie.Name); Assert.IsNull (col["cookie"], "removal using name"); }
public void Deny_Unrestricted () { HttpCookieCollection jar = new HttpCookieCollection (); jar.Add (biscuit); jar.CopyTo (new object[1], 0); Assert.IsNull (jar.GetKey (0), "GetKey"); jar.Remove ("chocolat"); jar.Set (biscuit); Assert.IsNotNull (jar.Get (0), "Get(int)"); Assert.IsNull (jar.Get ("chocolat"), "Get(string)"); Assert.IsNotNull (jar[0], "this[int]"); Assert.IsNull (jar["chocolat"], "this[string]"); Assert.AreEqual (1, jar.AllKeys.Length, "AllKeys"); jar.Clear (); }
/// <summary> /// Removes the authentication cookies. /// </summary> /// <param name="cookieCollection">The cookie collection.</param> private static void RemoveAuthCookies(HttpCookieCollection cookieCollection) { // borrar cualquier cookie con el mismo nombre de la cookie de autenticación if (!cookieCollection.AllKeys.Contains(FormsAuthentication.FormsCookieName)) return; // // obtener nombre definido paral a cookie var cookieName = FormsAuthentication.FormsCookieName; // // recuperar el valor de la cookie antes de eliminarla var httpCookie = cookieCollection.Get(cookieName); // // la cookie existe? if (httpCookie == null) return; // // eliminar la cookie cookieCollection.Remove(cookieName); // // determinar número de cookies en que se guardó el boleto de autenticación int numberOfCookies; if (!int.TryParse(httpCookie.Value, out numberOfCookies)) return; for (var i = 1; i < numberOfCookies; i++) cookieCollection.Remove((cookieName + i)); }
internal void SetSessionCookiesForPortal (HttpCookieCollection cookies) { if (cookies == null || cookies.Count == 0) return; if (!(context.WorkerRequest is IHttpExtendedWorkerRequest)) return; IHttpExtendedWorkerRequest exWorker = (IHttpExtendedWorkerRequest) context.WorkerRequest; bool inPortletMode = !context.IsServletRequest; bool shouldStoreCookiesCollection = false; HttpSession javaSession = exWorker.GetSession (false); if (javaSession == null && inPortletMode) javaSession = exWorker.GetSession (true); if (javaSession == null) return; object sessionLock = GetJavaSessionLock (javaSession); lock (sessionLock) { Hashtable sessionCookies = (Hashtable)javaSession.getAttribute (SessionCookies); if (sessionCookies == null) if (inPortletMode) { sessionCookies = new Hashtable (); shouldStoreCookiesCollection = true; } else return; ArrayList sessionStoredCookies = null; for (int i=0; i < cookies.Count; i++) { HttpCookie cookie = cookies[i]; if (sessionCookies [cookie.Name] != null || inPortletMode) { sessionCookies [cookie.Name] = cookie; if (sessionStoredCookies == null) sessionStoredCookies = new ArrayList(); sessionStoredCookies. Add (cookie.Name); } } if (sessionStoredCookies != null) foreach (object key in sessionStoredCookies) cookies.Remove ((string) key); if (shouldStoreCookiesCollection) javaSession.setAttribute (SessionCookies, sessionCookies); } }
internal void GetSessionCookiesForPortal (HttpCookieCollection cookies) { if (context == null) return; if (!(context.WorkerRequest is IHttpExtendedWorkerRequest)) return; IHttpExtendedWorkerRequest exWorker = (IHttpExtendedWorkerRequest) context.WorkerRequest; HttpSession javaSession = exWorker.GetSession (false); if (javaSession == null) return; object sessionLock = GetJavaSessionLock (javaSession); lock (sessionLock) { Hashtable sessionCookies = (Hashtable) javaSession.getAttribute (SessionCookies); if (sessionCookies == null) return; ArrayList expiredCookies = null; foreach (string key in sessionCookies.Keys) { HttpCookie sessionCookie = (HttpCookie) sessionCookies [key]; if (sessionCookie.Expires.Ticks != 0 && sessionCookie.Expires.Ticks < DateTime.Now.Ticks) { if (cookies [key] != null) cookies.Remove (key); else { if (expiredCookies == null) expiredCookies = new ArrayList(); expiredCookies.Add (key); } } else cookies.Set (sessionCookie); } if (expiredCookies != null) foreach (object key in expiredCookies) sessionCookies.Remove (key); } }
internal void SetSessionCookiesForPortal(HttpCookieCollection cookies) { if (cookies == null || cookies.Count == 0) { return; } if (!(context.WorkerRequest is IHttpExtendedWorkerRequest)) { return; } IHttpExtendedWorkerRequest exWorker = (IHttpExtendedWorkerRequest)context.WorkerRequest; bool inPortletMode = !context.IsServletRequest; bool shouldStoreCookiesCollection = false; HttpSession javaSession = exWorker.GetSession(false); if (javaSession == null && inPortletMode) { javaSession = exWorker.GetSession(true); } if (javaSession == null) { return; } object sessionLock = GetJavaSessionLock(javaSession); lock (sessionLock) { Hashtable sessionCookies = (Hashtable)javaSession.getAttribute(SessionCookies); if (sessionCookies == null) { if (inPortletMode) { sessionCookies = new Hashtable(); shouldStoreCookiesCollection = true; } else { return; } } ArrayList sessionStoredCookies = null; for (int i = 0; i < cookies.Count; i++) { HttpCookie cookie = cookies[i]; if (sessionCookies [cookie.Name] != null || inPortletMode) { sessionCookies [cookie.Name] = cookie; if (sessionStoredCookies == null) { sessionStoredCookies = new ArrayList(); } sessionStoredCookies.Add(cookie.Name); } } if (sessionStoredCookies != null) { foreach (object key in sessionStoredCookies) { cookies.Remove((string)key); } } if (shouldStoreCookiesCollection) { javaSession.setAttribute(SessionCookies, sessionCookies); } } }
internal void GetSessionCookiesForPortal(HttpCookieCollection cookies) { if (context == null) { return; } if (!(context.WorkerRequest is IHttpExtendedWorkerRequest)) { return; } IHttpExtendedWorkerRequest exWorker = (IHttpExtendedWorkerRequest)context.WorkerRequest; HttpSession javaSession = exWorker.GetSession(false); if (javaSession == null) { return; } object sessionLock = GetJavaSessionLock(javaSession); lock (sessionLock) { Hashtable sessionCookies = (Hashtable)javaSession.getAttribute(SessionCookies); if (sessionCookies == null) { return; } ArrayList expiredCookies = null; foreach (string key in sessionCookies.Keys) { HttpCookie sessionCookie = (HttpCookie)sessionCookies [key]; if (sessionCookie.Expires.Ticks != 0 && sessionCookie.Expires.Ticks < DateTime.Now.Ticks) { if (cookies [key] != null) { cookies.Remove(key); } else { if (expiredCookies == null) { expiredCookies = new ArrayList(); } expiredCookies.Add(key); } } else { cookies.Set(sessionCookie); } } if (expiredCookies != null) { foreach (object key in expiredCookies) { sessionCookies.Remove(key); } } } }
protected void ClearSwitches(HttpCookieCollection cookies) { foreach (var key in cookies.AllKeys) { if (Regex.IsMatch(key, @"^itofs_")) { cookies.Remove(key); } } }
private static void updateCookie(HttpCookie cookie, HttpCookieCollection cookies) { cookies.Remove(cookie.Name); cookies.Add(cookie); }