internal override void UpdateIterationSuccessCount(ErrorRecord errorRecord) { if (errorRecord == null || ProvisioningMonitoringConfig.IsExceptionWhiteListedForCmdlet(errorRecord, this.cmdletName)) { TenantMonitor.LogActivity(this.counterForIterationSuccesses, this.instanceName); } }
// Token: 0x06000014 RID: 20 RVA: 0x00002B48 File Offset: 0x00000D48 private static void OnPostAuthenticateRequest(object source, EventArgs args) { HttpApplication httpApplication = (HttpApplication)source; HttpContext context = httpApplication.Context; Logger.EnterFunction(ExTraceGlobals.RedirectionTracer, "LiveIdRedirectionModule.OnPostAuthenticateRequest"); if (!context.Request.IsAuthenticated) { Logger.LogWarning(LiveIdRedirectionModule.traceSrc, "OnPostAuthenticateRequest was called on a not Authenticated Request!"); Logger.ExitFunction(ExTraceGlobals.RedirectionTracer, "LiveIdRedirectionModule.OnPostAuthenticateRequest"); return; } if (!RedirectionHelper.ShouldProcessLiveIdRedirection(context)) { Logger.LogVerbose(LiveIdRedirectionModule.traceSrc, "Redirection Logic skipped for user '{0}'.", new object[] { context.User.ToString() }); Logger.ExitFunction(ExTraceGlobals.RedirectionTracer, "LiveIdRedirectionModule.OnPostAuthenticateRequest"); return; } bool flag = true; string text = null; string text2 = (string)HttpContext.Current.Items["WLID-MemberName"]; if (RedirectionHelper.IsUserTenantOnCurrentSiteCache(text2)) { Logger.LogVerbose(LiveIdRedirectionModule.traceSrc, "Redirection Logic skipped, user '{0}' is present on the current site cache.", new object[] { text2 }); Logger.ExitFunction(ExTraceGlobals.RedirectionTracer, "LiveIdRedirectionModule.OnPostAuthenticateRequest"); return; } if (context.Request.LogonUserIdentity.IsSystem && !(context.User.Identity is GenericSidIdentity) && !string.IsNullOrEmpty(text2)) { flag = false; if (!SmtpAddress.IsValidSmtpAddress(text2)) { Logger.LogWarning(LiveIdRedirectionModule.traceSrc, "Cannot convert memberName to SMTP address. No redirection available."); Logger.ExitFunction(ExTraceGlobals.RedirectionTracer, "LiveIdRedirectionModule.OnPostAuthenticateRequest"); return; } text = SmtpAddress.Parse(text2).Domain; } else { if (!LiveIdRedirectionModule.TryResolveCurrentUserInLocalForest(context.User, LiveIdRedirectionModule.traceSrc, out text)) { Logger.LogWarning(LiveIdRedirectionModule.traceSrc, "Cannot resolve the current request user account in local forest."); Logger.ExitFunction(ExTraceGlobals.RedirectionTracer, "LiveIdRedirectionModule.OnPostAuthenticateRequest"); return; } if (string.IsNullOrEmpty(text)) { Logger.LogVerbose(LiveIdRedirectionModule.traceSrc, "Tenant Name cannot be resolved from the Url."); Logger.ExitFunction(ExTraceGlobals.RedirectionTracer, "LiveIdRedirectionModule.OnPostAuthenticateRequest"); return; } } TenantMonitor.LogActivity(CounterType.HomeSiteLocationAttempts, text); Uri originalUrl = RedirectionHelper.RemovePropertiesFromOriginalUri(context.Request.Url, RedirectionConfig.RedirectionUriFilterProperties); if (!flag) { Logger.LogVerbose(LiveIdRedirectionModule.traceSrc, "Current request user is external to local AD."); Uri redirectUrlForTenantForest = RedirectionHelper.GetRedirectUrlForTenantForest(text, RedirectionConfig.PodRedirectTemplate, originalUrl, RedirectionConfig.PodSiteStartRange, RedirectionConfig.PodSiteEndRange); if (null != redirectUrlForTenantForest) { Logger.LogVerbose(LiveIdRedirectionModule.traceSrc, "Redirecting user to {0}.", new object[] { redirectUrlForTenantForest }); context.Response.Redirect(redirectUrlForTenantForest.ToString()); TenantMonitor.LogActivity(CounterType.HomeSiteLocationSuccesses, text); } else { Logger.LogEvent(LiveIdRedirectionModule.eventLogger, TaskEventLogConstants.Tuple_LiveIdRedirection_FailedToResolveForestRedirection, text2, new object[] { text, text2 }); } } else { Logger.LogVerbose(LiveIdRedirectionModule.traceSrc, "Current request user is present in AD."); Uri uri = null; Exception ex = null; try { uri = RedirectionHelper.GetRedirectUrlForTenantSite(text, RedirectionConfig.SiteRedirectTemplate, originalUrl, LiveIdRedirectionModule.eventLogger); TenantMonitor.LogActivity(CounterType.HomeSiteLocationSuccesses, text); } catch (RedirectionLogicException ex2) { ex = ex2; } catch (DataSourceOperationException ex3) { ex = ex3; } catch (TransientException ex4) { ex = ex4; } catch (DataValidationException ex5) { ex = ex5; } if (ex != null) { Logger.GenerateErrorMessage(context.Response, LiveIdRedirectionModule.eventLogger, TaskEventLogConstants.Tuple_LiveIdRedirection_ServerError, ex, text); } else if (null != uri) { Logger.LogVerbose(LiveIdRedirectionModule.traceSrc, "Redirecting user to {0}.", new object[] { uri }); context.Response.Redirect(uri.ToString()); } else { RedirectionHelper.AddTenantToCurrentSiteCache(text); } } Logger.ExitFunction(ExTraceGlobals.RedirectionTracer, "LiveIdRedirectionModule.OnPostAuthenticateRequest"); }
internal override void IncrementIterationInvocationCount() { TenantMonitor.LogActivity(this.counterForIterationAttempts, this.instanceName); }