public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { var userContext = context.HttpContext.RequestServices.GetService <UserContext>(); var log = new SysOperationLogDto { ClassName = context.Controller.ToString(), CreateTime = DateTime.Now, LogName = this.LogName, LogType = "业务日志", Message = JsonSerializer.Serialize(context.ActionArguments), Method = ((Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor)context.ActionDescriptor).ActionName, Succeed = "", UserId = userContext.ID }; var logService = context.HttpContext.RequestServices.GetService <ILogService>(); await logService.AppendOperationLog(log); await base.OnActionExecutionAsync(context, next); }
/// <summary> /// 添加操作日志 /// </summary> /// <param name="model">操作日志</param> /// <returns>是否成功</returns> public ResponseBase CreateSysOperationLog(SysOperationLogDto model) { return(new ResponseBase()); //return SystemRepo.CreateSysOperationLog(model); }
public async Task AppendOperationLog(SysOperationLogDto logDto) { var log = _mapper.Map <SysOperationLog>(logDto); await _operationLogRepository.InsertAsync(log); }
/// <summary> /// 登录 /// </summary> /// <param name="loginInfo">登录条件</param> /// <returns>是否成功</returns> public ResponseBase <CurrentUserDto> Login(LoginDto model) { var rp = new ResponseBase <CurrentUserDto>(); rp.IsLogin = false; if (null != model) { var userName = model.UserName; var loginUser = SystemRepo.GetUserByName(userName); if (null == loginUser) { rp.IsSuccess = false; rp.OperationDesc = "用户不存在"; } else if (loginUser.UserStatus == StatusCode.锁定) { rp.IsSuccess = false; rp.OperationDesc = "该用户已被锁定"; } else if (loginUser.RoleIDs == null || loginUser.RoleIDs.Count() <= 0) { rp.IsSuccess = false; rp.OperationDesc = "该用户无角色"; } else { var password = Md5Encryption.Encrypt(model.UserPassword); if (password == loginUser.UserPassword) { CurrentUserDto currentUser = new CurrentUserDto(); currentUser.UserID = loginUser.SysUserId; currentUser.UserName = loginUser.UserName; //currentUser.Actions = loginUser.Actions; currentUser.RealName = loginUser.RealName; currentUser.RoleIDs = loginUser.RoleIDs; currentUser.RoleNames = loginUser.RoleNames; currentUser.MenuIds = loginUser.MenuIds; rp.Result = currentUser; rp.IsLogin = true; rp.IsSuccess = true; rp.OperationDesc = "登录成功"; WriteLogInfo("用户:" + model.UserName + ", 登录系统"); var dto = new SysOperationLogDto { UserName = loginUser.UserName, OperationTypeCode = OperationTypeCode.操作, OperationUrl = "/Account/Login", OperationContent = "登录成功", }; CreateSysOperationLog(dto); } else { rp.IsSuccess = false; rp.OperationDesc = "登录失败,密码错误"; } } } else { rp.IsSuccess = false; rp.OperationDesc = "登录失败,提交数据为空"; } return(rp); }