예제 #1
0
            public object BeforeSendRequest(ref Message request, IClientChannel channel)
            {
                var site      = HashPii.ComputeHashPiiSha256(WebAppSettings.Instance.SiteName);
                var instance  = HashPii.ComputeHashPiiSha256(WebAppSettings.Instance.InstanceId);
                var userAgent = $"Portals (Site={site}; Instance={instance}; ActivityId={EventSource.CurrentThreadActivityId})";

                var property = new HttpRequestMessageProperty
                {
                    Headers = { { HttpRequestHeader.UserAgent, userAgent } }
                };

                request.Properties.Add(HttpRequestMessageProperty.Name, property);

                return(null);
            }
        private static void LogAuthentication(TUser user, string authenticationType)
        {
            try
            {
                if (FeatureCheckHelper.IsFeatureEnabled(FeatureNames.TelemetryFeatureUsage))
                {
                    var userId = HashPii.ComputeHashPiiSha256(user.Id);

                    PortalFeatureTrace.TraceInstance.LogAuthentication(FeatureTraceCategory.Authentication, userId, HttpContext.Current.Session.SessionID, "logIn", "authentication", authenticationType);
                }
            }
            catch (Exception e)
            {
                WebEventSource.Log.GenericErrorException(e);
            }
        }