private static void AddUserClaims(HttpRequest request, KissLog.Web.HttpRequest requestProperties) { if (request.HttpContext.User?.Identity == null || request.HttpContext.User.Identity.IsAuthenticated == false) { return; } if ((request.HttpContext.User != null) == false) { return; } ClaimsPrincipal claimsPrincipal = (ClaimsPrincipal)request.HttpContext.User; ClaimsIdentity identity = (ClaimsIdentity)claimsPrincipal?.Identity; if (identity == null) { return; } List <KeyValuePair <string, string> > claims = ToDictionary(identity); requestProperties.Properties.Claims = claims; requestProperties.IsAuthenticated = true; KissLog.Web.UserDetails user = KissLogConfiguration.Options.ApplyGetUser(requestProperties.Properties); requestProperties.User = user; }
public static KissLog.Web.HttpRequest Create(HttpRequest request) { KissLog.Web.HttpRequest result = new KissLog.Web.HttpRequest(); if (request == null) { return(result); } result.StartDateTime = DateTime.UtcNow; result.UserAgent = request.UserAgent; result.Url = request.Url; result.HttpMethod = request.HttpMethod; result.HttpReferer = request.UrlReferrer?.AbsolutePath; result.RemoteAddress = request.UserHostAddress; result.MachineName = GetMachineName(request); KissLog.Web.RequestProperties properties = new KissLog.Web.RequestProperties(); result.Properties = properties; var headers = DataParser.ToDictionary(request.Unvalidated.Headers); headers = FilterHeaders(headers); var queryString = DataParser.ToDictionary(request.Unvalidated.QueryString); var formData = DataParser.ToDictionary(request.Unvalidated.Form); var serverVariables = DataParser.ToDictionary(request.ServerVariables); serverVariables = FilterServerVariables(serverVariables); var cookies = DataParser.ToDictionary(request.Unvalidated.Cookies); properties.Headers = headers; properties.QueryString = queryString; properties.FormData = formData; properties.ServerVariables = serverVariables; properties.Cookies = cookies; string inputStream = null; if (InternalHelpers.ShouldLogInputStream(headers)) { inputStream = ReadInputStream(request); } properties.InputStream = inputStream; return(result); }