示例#1
0
        public override void OnResultExecuted(ResultExecutedContext filterContext)
        {
            var user = SessionHelper.GetSession("CurrentUser") as User;

            if (user != null)
            {
                var area        = filterContext.RouteData.DataTokens["area"] != null ? filterContext.RouteData.DataTokens["area"].ToString() : "";
                var controller  = filterContext.RouteData.Values["controller"].ToString();
                var action      = filterContext.RouteData.Values["action"].ToString();
                var actionName  = action.ToLower();
                var permission  = PermissionService.Permissions.FirstOrDefault(t => t.Code.ToLower() == actionName && t.Enabled == true && t.IsDeleted == false);
                var description = string.Empty;
                if (permission != null)
                {
                    description = permission.Name;
                }

                var model = new OperateLogModel {
                    Area        = area,
                    Controller  = controller,
                    Action      = action,
                    Description = description,
                    LogTime     = DateTime.Now,
                    UserId      = user.Id,
                    LoginName   = user.LoginName,
                    IPAddress   = Tools.GetUserIp()
                };

                OperateLogService.Insert(model);
            }
        }
示例#2
0
        public ActionResult Index(int page = 1)
        {
            var model = new OperateLogModel();
            int count = 0;
            var expr  = BuildSearchCriteria();

            page = page > 0 ? page : 1;
            var filterResult = OperateLogService.OperateLogCollection.GetListPage(expr, x => x.CreateTime, false, out count, "", new Dictionary <string, string>(), page, 10, Request.Url.Query);

            if (filterResult.list.Count == 0 && page != 1)
            {
                return(Index());
            }

            int sortId = (page - 1) * 10 + 1;
            var result = filterResult.list.Select(t => new OperateLogModel
            {
                SortId      = sortId++.ToString(),
                LogTime     = t.LogTime,
                Area        = t.Area,
                Controller  = t.Controller,
                Action      = t.Action,
                Description = t.Description,
                IPAddress   = t.IPAddress,
                LoginName   = t.LoginName
            }).ToList();

            ViewData["list"]  = result;
            ViewData["zebra"] = filterResult.ZebraString;
            return(View(model));
        }
        public ActionResult UpdateUserCover()
        {
            string    ImgSrc = Request["srcStr"];
            UserModel user   = CurrentAdmin.UserInfo;

            user.Cover = ImgSrc;
            bool flag = _UserBLL.UpdateUserCover(user);

            {//操作日志
                UserModel       u   = CurrentAdmin.UserInfo;
                OperateLogModel log = new OperateLogModel()
                {
                    StoreId  = u.StoreId,
                    UserId   = u.Id,
                    UserName = u.RealName,
                    Extra    = "{\"UserId\":" + user.Id + "}"
                };
                log.Description = GetAddOrUpdateMessage("修改") + "账户【" + user.RealName + "】头像" + GetSuccessOrFailureMessage(user.ErrorCode, user.ErrorMsg);
                _UserBLL.InsertOperateLog(log);
            }
            return(Json(new VResult()
            {
                success = flag, msg = user.ErrorMsg, name = user.Cover
            }));
        }
示例#4
0
        public IList <OperateLogModel> GetByTargetPKAndType(string targetPK, int targetType)
        {
            OperateLogModel model = new OperateLogModel()
            {
                TargetPK = targetPK, TargetType = targetType
            };

            return(DBProvider.dbMapper.SelectList <OperateLogModel>("Sys_OperateLog.GetByTargetPKAndType", model));
        }
 /// <summary>
 /// 保存实体数据.
 /// </summary>
 public void Save(OperateLogModel model)
 {
     model.OperateIP = ToolsLib.Utility.WebUtils.ClientIP;
     if (model.LogId == 0)
     {
         DBProvider.OperateLogDao.Add(model);
     }
     else
     {
         DBProvider.OperateLogDao.Update(model);
     }
 }
示例#6
0
        /// <summary>
        /// 带操作日志
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        protected virtual ActionResult Success(string info, string title, OperationType type, string keyValue, string content)
        {
            OperateLogModel operateLogModel = new OperateLogModel();

            operateLogModel.title             = title;
            operateLogModel.type              = type;
            operateLogModel.url               = (string)WebHelper.GetHttpItems("currentUrl");
            operateLogModel.sourceObjectId    = keyValue;
            operateLogModel.sourceContentJson = content;

            OperatorHelper.Instance.WriteOperateLog(operateLogModel);

            return(Content(new ResParameter {
                code = ResponseCode.success, info = info, data = new object { }
            }.ToJson()));
        }
示例#7
0
        public static void SaveLog <T>(T model, UtilConstants.OperateType operateType)
        {
            OperateLogModel operateModel = new OperateLogModel();

            if (typeof(T) == typeof(UserModel))
            {
                UserModel mUser = model as UserModel;
                operateModel.OperateContent = "登录:" + mUser.UserName;
                operateModel.TargetPK       = mUser.JobNo;
            }

            operateModel.OperateType = (int)operateType;
            operateModel.Operator    = LoginHelper.LoginUser.UserName;
            operateModel.TargetType  = (int)UtilConstants.TargetType.系统登录日志;
            Global.Business.ServiceProvider.OperateLogService.Save(operateModel);
        }
示例#8
0
        public OperationResult Insert(OperateLogModel model)
        {
            var entity = new OperateLog
            {
                Area        = model.Area,
                Controller  = model.Controller,
                Action      = model.Action,
                Description = model.Description,
                IPAddress   = model.IPAddress,
                LoginName   = model.LoginName,
                UserId      = model.UserId,
                LogTime     = model.LogTime
            };

            OperateLogRepository.Insert(entity);
            return(new OperationResult(OperationResultType.Success, "添加成功"));
        }
示例#9
0
        public OperationResult Insert(OperateLogModel model)
        {
            var entity = new OperateLog
            {
                Area        = model.Area,
                Controller  = model.Controller,
                Action      = model.Action,
                Description = model.Description,
                IPAddress   = model.IPAddress,
                LoginName   = model.LoginName,
                UserId      = model.UserId,
                LogTime     = model.LogTime,
                IsDeleted   = false
            };

            HpMongoContext.Save(entity);
            return(new OperationResult(OperationResultType.Success, "添加成功"));
        }
示例#10
0
        /// <summary>
        /// 模型数据改变
        /// </summary>
        /// <param name="obj"></param>
        private void dataChanged(OperateLogModel commSocketServerModel)
        {
            getPageData(pageRepuestParams.PageIndex, pageRepuestParams.PageSize);
            var tmpModel = OperateLogInfoList.FirstOrDefault(a => a.Id == commSocketServerModel.Id);

            this.OperateLogInfo = OperateLogInfoList.FirstOrDefault();
            ////新增、不存在的数据插入到第一行便于查看
            //if (Equals(tmpModel, null))
            //{
            //    this.EnterpriseInfoList.Insert(0, enterpriseModel);
            //    //this.EnterpriseInfoList.Insert(0, enterpriseModel);
            //    EnterpriseInfoList.RemoveAt(this.EnterpriseInfoList.Count - 1);
            //}
            //else
            //{
            //    //修改的更新后置于第一行,便于查看
            //    tmpModel = enterpriseModel;
            //    EnterpriseInfoList.Move(EnterpriseInfoList.IndexOf(tmpModel), 0);
            //    tmpModel = enterpriseModel;
            //}
        }
示例#11
0
 /// <summary>
 /// 更新一条数据.
 /// </summary>
 public void Update(OperateLogModel model)
 {
     DBProvider.dbMapper.Update("Sys_OperateLog.Update", model);
 }
示例#12
0
 /// <summary>
 /// 增加一条数据.
 /// </summary>
 public void Add(OperateLogModel model)
 {
     DBProvider.dbMapper.Insert("Sys_OperateLog.Insert", model);
 }
示例#13
0
        public ActionResult UserLogin()
        {
            UserModel user = new UserModel();

            this.TryUpdateModel <UserModel>(user);
            if (!string.IsNullOrEmpty(user.UserName) && !string.IsNullOrEmpty(user.Password))
            {
                user.Password = Utils.ToMd5(user.Password);
            }
            else
            {
                user.ErrorCode = -2;
                user.ErrorMsg  = "用户名或密码不能为空!";
                return(View("Login", user));
                //return Json(new VResult() { success = false, msg = "用户名或密码不能为空!" });
            }
            string uName = user.UserName;

            user = _UserBLL.Login(user);
            if (user != null)
            {
                FormsAuthentication.SetAuthCookie(user.Id.ToString(), false); // 加入form验证票据
                SessionUser loginUser = new SessionUser();
                foreach (RoleModel role in user.Roles)
                {
                    loginUser.Roles.Add(role);
                    foreach (MenuModel menu in role.Menus)
                    {
                        loginUser.MenuPermission.Add(menu);
                    }
                }
                loginUser.MenuPermission = loginUser.MenuPermission.OrderBy(a => a.TreeCode).OrderBy(a => a.Sort).ToList();
                loginUser.UserInfo       = user;
                System.Web.HttpContext.Current.Session.Add(SessionUserKey, loginUser);
                {//操作日志
                    OperateLogModel log = new OperateLogModel()
                    {
                        StoreId  = user.StoreId,
                        UserId   = user.Id,
                        UserName = user.RealName,
                        Extra    = "[{\"UserId\":" + user.Id + "}]"
                    };
                    log.Description = "用户【" + user.RealName + "】从[" + UIHelper.IP + "]登陆。";
                    _UserBLL.InsertOperateLog(log);
                }
                string   url = Request.UrlReferrer.ToString();
                string[] rU  = url.Split('?');
                if (rU.Length == 2)
                {
                    string returnUrl = HttpUtility.UrlDecode(rU[1].Replace("ReturnUrl=", ""));
                    if (!rU.Contains("/Main/Login"))
                    {
                        return(Redirect(returnUrl));
                    }
                }
                return(RedirectToAction("Index", "Main"));
            }
            //return Json(new VResult() { success = user != null });
            //return View("Login");
            user = new UserModel()
            {
                ErrorCode = -2, ErrorMsg = "用户名或密码不正确。", UserName = uName
            };
            return(View("Login", user));
        }
示例#14
0
        public ActionResult UserAjaxLogin()
        {
            //Stream file = Request.InputStream;
            //StreamReader sr = new StreamReader(file, Encoding.UTF8);
            //string restOfStream = sr.ReadToEnd();
            //sr.Close();
            //StreamWriter sw = new StreamWriter(Server.MapPath("/upload/GoodsStorageReport/login.txt"), true, Encoding.UTF8);
            //string w = restOfStream;
            //sw.Write(w);
            //sw.Close();

            UserModel user = new UserModel();

            this.TryUpdateModel <UserModel>(user);
            if (!string.IsNullOrEmpty(user.UserName) && !string.IsNullOrEmpty(user.Password))
            {
                user.Password = Utils.ToMd5(user.Password);
            }
            else
            {
                user.ErrorCode = -2;
                user.ErrorMsg  = "用户名或密码不能为空!";
                return(Json(new VResult()
                {
                    success = false, msg = "用户名或密码不能为空"
                }));
                //return Json(new VResult() { success = false, msg = "用户名或密码不能为空!" });
            }
            string uName = user.UserName;

            user = _UserBLL.AjaxLogin(user);
            if (user != null)
            {
                FormsAuthentication.SetAuthCookie(user.Id.ToString(), false); // 加入form验证票据
                SessionUser loginUser = new SessionUser();
                foreach (RoleModel role in user.Roles)
                {
                    loginUser.Roles.Add(role);
                    foreach (MenuModel menu in role.Menus)
                    {
                        if (menu.Status == 0)
                        {
                            loginUser.MenuPermission.Add(menu);
                        }
                    }
                }
                loginUser.MenuPermission = loginUser.MenuPermission.OrderBy(a => a.TreeCode).OrderBy(a => a.Sort).ToList();
                loginUser.UserInfo       = user;
                System.Web.HttpContext.Current.Session.Add(SessionUserKey, loginUser);
                {//操作日志
                    OperateLogModel log = new OperateLogModel()
                    {
                        StoreId  = user.StoreId,
                        UserId   = user.Id,
                        UserName = user.RealName,
                        Extra    = "[{\"UserId\":" + user.Id + "}]"
                    };
                    log.Description = "用户【" + user.RealName + "】从[IPAD]登陆。";
                    _UserBLL.InsertOperateLog(log);
                }
                return(Json(new { success = true, user = user }));
            }
            return(Json(new VResult()
            {
                success = false, msg = "用户名或密码不正确"
            }));
        }
示例#15
0
        public ActionResult Index()
        {
            var model = new OperateLogModel();

            return(View(model));
        }
示例#16
0
        /*
         * public IList<T> FindAll<T, S>(System.Linq.Expressions.Expression<Func<T, bool>> conditions, System.Linq.Expressions.Expression<Func<T, S>> orderBy, int pageSize, int pageIndex, out long total) where T : BaseModel
         * {
         *  using (HContext dbContext = new HContext())
         *  {
         *      return dbContext.FindAll<T, S>(conditions, orderBy, pageSize, pageIndex, out total);
         *  }
         * }*/

        public void InsertOperateLog(OperateLogModel log)
        {
            log.AddTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            _GenericDAL.InsertLog(log);
        }