Esempio n. 1
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            AuditTB objaudit = new AuditTB();                                  // Getting Action Name

            string actionName     = filterContext.ActionDescriptor.ActionName; //Getting Controller Name
            string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
            var    request        = filterContext.HttpContext.Request;


            if (HttpContext.Current.Session["UserID"] != null)
            {
                objaudit.UserID = Convert.ToString(HttpContext.Current.Session["UserID"]);
            }
            else if (HttpContext.Current.Session["AdminUser"] != null)
            {
                objaudit.UserID = Convert.ToString(HttpContext.Current.Session["AdminUser"]);
            }
            else
            {
                objaudit.UserID = "";
            }


            objaudit.SessionID    = HttpContext.Current.Session.SessionID;                   // Application SessionID // User IPAddress
            objaudit.IPAddress    = request.ServerVariables["HTTP_X_FORWARDED_FOR"] ?? request.UserHostAddress;
            objaudit.PageAccessed = Convert.ToString(filterContext.HttpContext.Request.Url); // URL User Requested
            objaudit.LoggedInAt   = DateTime.Now;                                            // Time User Logged In || And time User Request Method

            if (actionName == "LogOff")
            {
                objaudit.LoggedOutAt = DateTime.Now; // Time User Logged OUT
            }

            objaudit.LoginStatus    = "A";
            objaudit.ControllerName = controllerName; // ControllerName
            objaudit.ActionName     = actionName;

            Uri myReferrer = request.UrlReferrer;

            if (myReferrer != null)
            {
                string actual = myReferrer.ToString();

                if (actual != null)
                {
                    objaudit.UrlReferrer = request.UrlReferrer.AbsolutePath;
                }
            }

            _IAudit.InsertAuditData(objaudit);
        }