/// <summary> /// DB에 로그 남기기 /// </summary> /// <param name="nLogLevel">로그 수준</param> /// <param name="typeSignLog"></param> /// <param name="idUser"></param> /// <param name="sMessage"></param> public static void LogAdd_DB( int nLogLevel , UserSignLogType typeSignLog , long idUser , string sMessage) { if (nLogLevel <= GlobalStatic.SignLogLevel) { //기준 날짜 DateTime dtNow = DateTime.Now; using (SpaNetCoreFoundationContext db1 = new SpaNetCoreFoundationContext()) { UserSignLog newSL = new UserSignLog(); newSL.AddDate = dtNow; newSL.Level = nLogLevel; newSL.SignLogType = typeSignLog; newSL.idUser = idUser; newSL.Contents = sMessage; db1.UserSignLog.Add(newSL); db1.SaveChanges(); } //end using db1 } } //end LogAdd_DB
private async void LoginExecute(object o) { var d = o as DialogHost; d.DialogContent = new WaitDialog { DataContext = "正在登录..." }; d.IsOpen = true; var result = await (Application.Current as App).ViewModel.Session.Login((LoginMode)AccoutType, Accout, Password, VerifyCode, VerifyQuestionIndex, VerifyAnswer); d.IsOpen = false; if (result.Status == 0) { var info = await(Application.Current as App).ViewModel.Session.GetUserInformation(); _applicationViewModel.Name = info.UserName; _applicationViewModel.AvatarUrl = info.Avatar; UserSignLog signLog = JsonConvert.DeserializeObject <UserSignLog>(Settings.Default.SignLog) ?? new UserSignLog(); if (signLog.ContainsKey(_applicationViewModel.Session.User.UID)) { _applicationViewModel.CheckInDates = signLog[_applicationViewModel.Session.User.UID]; } else { _applicationViewModel.CheckInDates = new DatesCollection(); } CancelExecute(d.Parent); (Application.Current as App).NotifyIcon.ShowBalloonTip(3000, "登录成功", $"欢迎回来,{result.Values["username"]}。", ToolTipIcon.Info); } else { switch (result.Message) { case "login_strike": d.DialogContent = new ErrorMessageDialog("登录失败:", "由于多次尝试登陆失败,请稍后再尝试。"); break; case "login_invalid": d.DialogContent = new ErrorMessageDialog("登录失败:", "账户密码有误,请核对后再尝试。"); break; default: d.DialogContent = new ErrorMessageDialog("登录失败:", $"由于未知原因登录失败,这些信息可能为你提供了一些信息:\r\n{result.Message}。"); break; } d.IsOpen = true; RefreshVerifyCodeCommand.Execute(null); VerifyCode = ""; } }
public void SaveSetting() { if (ViewModel.Session.State == SessionState.Alive) { UserSignLog signLog = JsonConvert.DeserializeObject <UserSignLog>(Settings.Default.SignLog) ?? new UserSignLog(); if (signLog.ContainsKey(ViewModel.Session.User.UID)) { signLog[ViewModel.Session.User.UID] = ViewModel.CheckInDates; } else { signLog.Add(ViewModel.Session.User.UID, ViewModel.CheckInDates); } Settings.Default.SignLog = JsonConvert.SerializeObject(signLog); } Settings.Default.Cookies = JsonConvert.SerializeObject(ViewModel.Session.Cookies); Settings.Default.AutoFillData = JsonConvert.SerializeObject(ViewModel.AutofillList); Settings.Default.Test = "This is a string."; Settings.Default.Save(); }
/// <summary> /// 登陆(获取Token)-自动绑定认证中心UserId /// </summary> /// <returns></returns> public async Task <ResponseMessage <IActionResult> > SignIn(SignRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var response = new ResponseMessage <IActionResult>(); var localUser = await _userStore.GetUserInfos().FirstOrDefaultAsync(a => a.LoginName.Equals(request.LoginName), cancellationToken); if (localUser == null) { response.Code = ResponseCodeDefines.ModelStateInvalid; response.Message = "用户不存在,请联系管理员添加用户"; return(response); } var token = await helperAuthentication.GetUserTokenObject(request); if (!token.HasValues) { response.Code = ResponseCodeDefines.ModelStateInvalid; response.Message = "用户名或密码错误"; return(response); } if (token["error"] != null) { response.Code = ResponseCodeDefines.ModelStateInvalid; response.Message = token["error"].ToString(); return(response); } var userId = HelperAuthentication.GetUserId(token["access_token"].ToString()); localUser.UserId = userId; //登录日志 var signLog = new UserSignLog { Id = Guid.NewGuid().ToString(), LoginName = localUser.LoginName, Platform = 0, // TODO header里面传 SigninTime = DateTime.Now, LocalUserId = localUser.Id, UserId = userId, UserName = localUser.UserName, }; localUser.Email = await helperAuthentication.GetUserEmail(userId, token["access_token"].ToString()); //事务保存数据 using (var trans = await _transaction.BeginTransaction()) { try { await _userStore.Create(new List <UserSignLog> { signLog }, cancellationToken); await _userStore.Update(new List <UserInfo> { localUser }, cancellationToken); trans.Commit(); } catch (Exception e) { trans.Rollback(); throw e; } } // [王森-191008-添加是否为管理员字段] token.Add("isAdmin", localUser.IsAdmin); response.Extension = new JsonResult(token); //try //{ // await EasterEgg(localUser.Id); //} //catch (Exception e) //{ // Logger.Error($"彩蛋触发失败:{e.Message}\r\n{e.StackTrace}"); //} return(response); }