/// <summary> /// Retrieves the saved analysis for the request phase specified /// </summary> /// <param name="requestPhase">The phase of the request processing to request an analysis for</param> /// <returns>The RequestAnalysis at the phase requested or null of one is not available</returns> public static RequestAnalysis RetrieveAnalysis(RequestLifecyclePhase requestPhase) { string contextKey = "Analysis:" + requestPhase.ToString(); if (HttpContext.Current.Items.Contains(contextKey)) { RequestAnalysis result = HttpContext.Current.Items[contextKey] as RequestAnalysis; } return null; }
/// <summary> /// Creates a new instance of a FormsAuthenticationCookieAnalyzer /// </summary> /// <param name="formsAuthenticationCookie">The formsAuthenticationCookie to inspect</param> /// <param name="requestPhase">The phase of the request procesisng lifecycle from which the analysis is being requested</param> /// <param name="saveToContext">Whether or not to save the result of the analysis to the HttpContext.Current.Items collection</param> public static RequestAnalysis AnalyzeRequest(HttpCookie formsAuthenticationCookie, RequestLifecyclePhase? requestPhase, bool saveToContext) { EnhancedSecurity.Initialize(); ContextInformation context = new ContextInformation(); FormsAuthenticationCookieAnalysis formsAuthenticationCookieResult = AnalyzeFormsAuthenticationCookie(formsAuthenticationCookie); FormsAuthenticationTicketAnalysis formsAuthenticationTicketResult; UserAuthenticationTicketAnalysis userAuthenticationTicketResult; if (UserAuthentication.Enabled) { formsAuthenticationTicketResult = AnalyzeFormsAuthenticationTicket(formsAuthenticationCookieResult, true, requestPhase); userAuthenticationTicketResult = AnalyzeServerAuthenticationTicket(context, formsAuthenticationCookieResult, formsAuthenticationTicketResult, UserAuthentication.EnforceClientHostAddressValidation); } else { formsAuthenticationTicketResult = AnalyzeFormsAuthenticationTicket(formsAuthenticationCookieResult, false, requestPhase); userAuthenticationTicketResult = new UserAuthenticationTicketAnalysis(); } RequestAnalysis result = new RequestAnalysis(context, formsAuthenticationCookieResult, formsAuthenticationTicketResult, userAuthenticationTicketResult); if (saveToContext) { string contextKey = "Analysis:" + requestPhase.ToString(); HttpContext.Current.Items[contextKey] = result; } return result; }