Example #1
0
        protected void Application_EndRequest()
        {
            if (Request.Url.AbsolutePath.ToLower().EndsWith("/core/account/login") &&
                Request.HttpMethod.ToLower() == "post" &&
                Context.Response.Headers.AllKeys.Contains("Set-Cookie") &&
                Context.Response.Headers["Set-Cookie"].Contains(".AspNet.ApplicationCookie") &&
                Request.Form.AllKeys.Contains("UserName") &&
                !string.IsNullOrEmpty(Request.Form["UserName"])
                )
            {
                DBEntities db       = COREobject.i.Context;
                string     userName = Request.Form["UserName"].ToLower();
                User       user     = db.Users.Single(u => u.UserName.ToLower() == userName);

                string cookies = Context.Response.Headers["Set-Cookie"];
                var    m       = Regex.Match(cookies, ".AspNet.ApplicationCookie=(?<AppCookie>.*?);");

                string appCookie = m.Groups["AppCookie"].Value;

                user.LastIp        = Request.UserHostAddress;
                user.LastAppCookie = appCookie;

                db.SaveChanges();
            }

            Debug.WriteLine($"Request time: {DateTime.UtcNow - COREobject.i.RequestStart} - Url: {Request.RawUrl}");
            COREobject.Destroy();
        }