/// <summary> /// Adds the specified LogoutRequest to the collection of previously /// sent requests, maintaining the imposed limit as defined by /// MaximumRequestsStored. This collection is represented as a /// queue and is attached to the user's session. /// </summary> /// <param name="context"> /// HttpContext containing session, request, and response objects. /// </param> /// <param name="logoutRequest"> /// LogoutRequest to add to the collection. /// </param> internal static void AddSentLogoutRequest(HttpContext context, LogoutRequest logoutRequest) { Queue logoutRequests = LogoutRequestCache.GetSentLogoutRequests(context); if (logoutRequests == null) { logoutRequests = new Queue(LogoutRequestCache.MaximumRequestsStored); } if (logoutRequests.Count == LogoutRequestCache.MaximumRequestsStored) { logoutRequests.Dequeue(); } logoutRequests.Enqueue(logoutRequest); context.Session[LogoutRequestCache.LogoutRequestSessionAttribute] = logoutRequests; StringBuilder message = new StringBuilder(); message.Append("LogoutRequestCache:\r\n"); IEnumerator i = logoutRequests.GetEnumerator(); while (i.MoveNext()) { LogoutRequest l = (LogoutRequest)i.Current; message.Append(l.Id + "\r\n"); } FedletLogger.Info(message.ToString()); }
/// <summary> /// Adds the specified AuthnRequest to the collection of previously /// sent requests, maintaining the imposed limit as defined by /// MaximumRequestsStored. This collection is represented as a /// queue and is attached to the user's session. /// </summary> /// <param name="context"> /// HttpContext containing session, request, and response objects. /// </param> /// <param name="authnRequest">AuthnRequest to add to the collection.</param> internal static void AddSentAuthnRequest(HttpContext context, AuthnRequest authnRequest) { Queue authnRequests = AuthnRequestCache.GetSentAuthnRequests(context); if (authnRequests == null) { authnRequests = new Queue(AuthnRequestCache.MaximumRequestsStored); } if (authnRequests.Count == AuthnRequestCache.MaximumRequestsStored) { authnRequests.Dequeue(); } authnRequests.Enqueue(authnRequest); context.Session[AuthnRequestCache.AuthnRequestSessionAttribute] = authnRequests; StringBuilder message = new StringBuilder(); message.Append("AuthnRequestsCache:\r\n"); IEnumerator i = authnRequests.GetEnumerator(); while (i.MoveNext()) { AuthnRequest a = (AuthnRequest)i.Current; message.Append(a.Id + "\r\n"); } FedletLogger.Info(message.ToString()); }