Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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);
        }