예제 #1
0
        public void SubmitForm(LoginLogInputDto loginLogInputDto, string keyValue)
        {
            LoginLog loginLog = new LoginLog();

            if (!string.IsNullOrEmpty(keyValue))
            {
            }
            else
            {
                AutoMapper.Mapper.Map <LoginLogInputDto, LoginLog>(loginLogInputDto, loginLog);
                loginLog.Id           = IdWorkerHelper.GenId64();
                loginLog.DeletedMark  = false;
                loginLog.CreationTime = DateTime.Now;
                loginLogRepository.Add(loginLog);
            }
        }
예제 #2
0
        public IActionResult CheckLogin(string username, string password, string verifycode)
        {
            LoginLogInputDto loginLogInputDto = new LoginLogInputDto();

            loginLogInputDto.UserName          = username;
            loginLogInputDto.OperateType       = "Login";
            loginLogInputDto.OperateTime       = System.DateTime.Now;
            loginLogInputDto.IpAddress         = HttpContext.Connection.RemoteIpAddress.ToString();
            loginLogInputDto.IpAddressLocation = NetHelper.GetLocation(loginLogInputDto.IpAddress);
            try
            {
                var SessionVerifyCode = HttpContext.Session.GetString("nfinecore_session_verifycode");
                var Md5VerifyCode     = Md5.md5(verifycode.ToLower(), 16);
                if (SessionVerifyCode != Md5VerifyCode)
                {
                    throw new Exception("验证码错误,请重新输入。");
                }
                UserOutputDto userOutputDto = userService.CheckLogin(username, password);
                if (userOutputDto != null)
                {
                    loginLogInputDto.UserId        = userOutputDto.Id;
                    loginLogInputDto.OperateResult = true;
                    loginLogInputDto.Description   = "系统登录,登录成功。";
                    loginLogService.SubmitForm(loginLogInputDto, null);

                    OperatorModel operatorModel = new OperatorModel();
                    operatorModel.Id          = userOutputDto.Id;
                    operatorModel.UserName    = userOutputDto.UserName;
                    operatorModel.MobilePhone = userOutputDto.MobilePhone;
                    operatorModel.Email       = userOutputDto.Email;
                    OperatorProvider.Provider.AddCurrent(operatorModel);
                }
                return(Content(new AjaxResult {
                    state = ResultType.success.ToString(), message = "登录成功。"
                }.ToJson()));
            }
            catch (Exception ex)
            {
                loginLogInputDto.OperateResult = false;
                loginLogInputDto.Description   = "系统登录," + ex.Message;
                loginLogService.SubmitForm(loginLogInputDto, null);
                return(Content(new AjaxResult {
                    state = ResultType.error.ToString(), message = ex.Message
                }.ToJson()));
            }
        }
예제 #3
0
        public IActionResult Logout()
        {
            OperatorModel    operatorModel    = OperatorProvider.Provider.GetCurrent();
            LoginLogInputDto loginLogInputDto = new LoginLogInputDto();

            loginLogInputDto.UserId            = operatorModel.Id;
            loginLogInputDto.UserName          = operatorModel.UserName;
            loginLogInputDto.OperateType       = "Logout";
            loginLogInputDto.OperateResult     = true;
            loginLogInputDto.OperateTime       = System.DateTime.Now;
            loginLogInputDto.IpAddress         = HttpContext.Connection.RemoteIpAddress.ToString();
            loginLogInputDto.IpAddressLocation = NetHelper.GetLocation(loginLogInputDto.IpAddress);
            loginLogInputDto.Description       = "安全退出。";
            loginLogService.SubmitForm(loginLogInputDto, null);

            OperatorProvider.Provider.RemoveCurrent();
            return(RedirectToAction("Login", "Account"));
        }