Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 /// <summary>
 /// 添加操作日志
 /// </summary>
 /// <param name="model">操作日志</param>
 /// <returns>是否成功</returns>
 public ResponseBase CreateSysOperationLog(SysOperationLogDto model)
 {
     return(new ResponseBase());
     //return SystemRepo.CreateSysOperationLog(model);
 }
Exemplo n.º 3
0
        public async Task AppendOperationLog(SysOperationLogDto logDto)
        {
            var log = _mapper.Map <SysOperationLog>(logDto);

            await _operationLogRepository.InsertAsync(log);
        }
Exemplo n.º 4
0
        /// <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);
        }