public async Task <IActionResult> Login([FromBody] LoginCmd request) { try { var result = await _service.LoginUser(request); return(Ok(result)); } catch (BusinessLogicException ex) { return(BadRequest(new Response { Status = false, Message = ex.Message })); } catch (Exception e) { return(BadRequest(new Response { Status = false, Message = ErrorMessages.UnkownError //e.Message })); } }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { try { if (ModelState.IsValid) { var user = LoginCmd.Execute(model.UserName, model.Password); if (user != null) { FormsAuthentication.SetAuthCookie(user.Identity.Name, false); if (ControllerContext.HttpContext.Session != null) { ControllerContext.HttpContext.Session["user"] = model.UserName; } //System.Web.HttpContext.Current.User =new System.Security.Principal.GenericPrincipal() FormsAuthentication.RedirectFromLoginPage(model.UserName, false); return(RedirectToLocal("~/JusHome/Index")); } } model.ShowMessage = true; return(View("Login", model)); } catch (Exception ex) { ModelState.AddModelError("", ManejadorExcepciones.GetMensaje(ex)); //Flash.Error(); } return(null); //return System.Web.UI.WebControls.View(model); }
public async Task <string> ChekcLoginCmdValidatableAsync(LoginCmd cmd, string clientIp, DateTime timeNow) { if (cmd.Account.IsNullOrWhiteSpace()) { return("账号不可为空"); } if (cmd.Password.IsNullOrWhiteSpace()) { return("密码不能为空"); } if (cmd.Password.Length > 30) { return("密码超长"); } if (!await _memberService.ExistAccountAsync(cmd.Account).ConfigureAwait(false)) { await _memberLoginLogService.NewLogAsync(new MemberLoginLog { Account = cmd.Account, Password = cmd.Password, CheckOn = timeNow, IsPass = false, Reason = "账号不存在", ClientIp = clientIp }).ConfigureAwait(false); return("账号不存在"); } var memberAccount = await _memberService.GetMemberAccountAsync(cmd.Account).ConfigureAwait(false); if (memberAccount.IsLockout) { await _memberLoginLogService.NewLogAsync(new MemberLoginLog { Account = cmd.Account, Password = cmd.Password, CheckOn = timeNow, IsPass = false, Reason = "账号被锁定", ClientIp = clientIp }).ConfigureAwait(false); return("账号被锁定"); } if (memberAccount.Password != HashGenerator.Encode(cmd.Password, memberAccount.PasswordFormat, memberAccount.PasswordSalt)) { await _memberLoginLogService.NewLogAsync(new MemberLoginLog { Account = cmd.Account, Password = cmd.Password, CheckOn = timeNow, IsPass = false, Reason = "密码不匹配", ClientIp = clientIp }).ConfigureAwait(false); return("密码不匹配"); } return(null); }
void OnErrorOccur(object sender, ModelEventArgs e) { switch (e.Type) { case ModelEventType.Exception: Forms.MessageBox.Show(e.ModelException.Message); break; case ModelEventType.ConnectMeesage: FailedMessage = e.FailedMessage; break; case ModelEventType.ErrorMessage: MessageBox.Show(e.ErrorMessage); break; case ModelEventType.ServerTimeout: _tickTimer.Stop(); Forms.MessageBox.Show(e.ErrorMessage); LoginCmd.Execute(null); break; default: break; } }
public async Task <Response <AuthenticationToken> > LoginUser(LoginCmd request) { var user = await _userManager.FindByNameAsync(request.UserName); if (user == null) { throw new BusinessLogicException("رکوردی با این مشخصات یافت نشد"); } var userHasValidPassword = await _userManager.CheckPasswordAsync(user, request.Password); if (!userHasValidPassword) { throw new BusinessLogicException("نام کاربری و یا کلمه عبور را درست وارد نکرده اید"); } var userRoles = await _userManager.GetRolesAsync(user); var userRole = userRoles.FirstOrDefault(); var userClaims = await _userManager.GetClaimsAsync(user); var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.UTF8.GetBytes(_configuration["Jwt:Key"]); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new[] { new Claim(JwtRegisteredClaimNames.Sub, user.UserName), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(JwtRegisteredClaimNames.UniqueName, user.UserName), new Claim("id", user.Id), }), Expires = DateTime.UtcNow.Add(TimeSpan.Parse(_configuration["Jwt:TokenLifeTime"])), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); return(new Response <AuthenticationToken> { Status = true, Message = "success", Data = new AuthenticationToken { Token = tokenHandler.WriteToken(token), FirstName = user.FirstName, LastName = user.LastName, FullName = $"{user.FirstName} {user.LastName}", UserId = user.Id, UserName = user.UserName, Avatar = user.Avatar, Roles = userRoles, Claims = userClaims.Select(c => c.Type).ToList() }, }); }
public LoginViewModel(Action closeAction) { //关闭窗口 this._closeAction = closeAction; //自动登录 if (IsAutoLogin) { LoginCmd.Execute(null); } }
private void DoSuccess() { var account = _inputAccount.text; var password = _inputPassword.text; var cmd = new LoginCmd() { account = account, password = password }; Net.instance.SendCmd(cmd); }
private void OnLogin(IScsServerClient sc, LoginCmd cmd) { Thread.Sleep(3000); LoginCmdAck ack = new LoginCmdAck(); ack.RepliedMessageId = cmd.MessageId; ack.sender_name = this_name; ack.status = 0; Helper.tcp_server_send(sc, ack); }
public LoginViewModel(Action closeAction) { //关闭窗口 _closeAction = closeAction; InitUserConfig(); InitCommand(); //自动登录 if (IsAutoLogin) { LoginCmd.Execute(); } }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { try { if (ModelState.IsValid) { //var user = await UserManager.FindAsync(model.UserName, model.Password); //LoginCmd.Execute(model.UserName, model.Password); //if (user != null) //JusNucleo.Bl.LoginCmd.Execute(model.UserName, model.Password) //Membership.ValidateUser(model.UserName, model.Password); var user = LoginCmd.Execute(model.UserName, model.Password); if (user != null) { //AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); //var identity = await UserManager.CreateIdentityAsync(A, DefaultAuthenticationTypes.ApplicationCookie); //AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity); //SignInAsync(user, model.RememberMe); FormsAuthentication.SetAuthCookie(user.Identity.Name, false); //var x=UsuarioActual.Login; //var usuario = UsuarioActual; return(RedirectToLocal("./Principal")); } else { ModelState.AddModelError("", "Usuario o clave Incorrecta"); } } // If we got this far, something failed, redisplay form return(View(model)); } catch (Exception ex) { ModelState.AddModelError("", ManejadorExcepciones.GetMensaje(ex)); //Flash.Error(); } return(View(model)); }
private async Task <Response> RealLogin(LoginCmd cmd, DateTime timeNow) { await _memberLoginLogService.NewLogAsync(new MemberLoginLog { Account = cmd.Account, Password = cmd.Password, CheckOn = timeNow, IsPass = true, Reason = "登录成功", PassOn = timeNow, ClientIp = ClientIP }).ConfigureAwait(false); var memberAccount = await _memberService.GetMemberAccountAsync(cmd.Account).ConfigureAwait(false); var token = await _memberTokenService.NewMemberTokenAsync(memberAccount.MemberId, cmd.ClientType, ClientIP); return(Ok(new { TokenString = token.ToString(), TokenObjectId = token, MemberInfo = await _memberService.GetMemberInfoAsync(memberAccount.MemberId).ConfigureAwait(false) })); }
private void p1_client_print(bool want_report, bool want_dcm) { bool print_dcm_ok = false; bool print_report_ok = false; try { ui_pre_print(); //根据实际情况更新打印需求 want_report = want_report && this.lblReportPrintFlag.Text.Contains("打印"); want_dcm = want_dcm && this.lblDcmPrintFlag.Text.Contains("打印"); //实际情况不允许打印 if (!want_report && !want_dcm) { return; } #region 多次打印,需身份验证 string printer_id = ""; bool need_verification = (want_report && this.lblReportPrintFlag.Text.Contains("已")) || (want_dcm && this.lblDcmPrintFlag.Text.Contains("已")); if (need_verification) { LoginUserItem item = get_login(); if (item == null) { return; } start_p1_tcp_client(); connect_p1_tcp_client(_p1_server_ip, _p1_server_port); Helper.add_text(this.txtMsg, string.Format("{0}连接数据服务器P1: {1}{0}", Environment.NewLine, (Helper.is_tcp_client_normal(_p1_tcp_client) ? "成功" : "失败"))); Helper.add_text(this.txtMsg, string.Format("{0}向数据服务器P1发身份验证命令, 等待服务器P1返回结果...{0}", Environment.NewLine)); //发验证命令 LoginCmd login = new LoginCmd(); login.sender_name = this_name; login.login_user.login_name = item.login_name; login.login_user.login_psw = item.login_psw; LoginCmdAck login_ack = Helper.tcp_client_send_and_response(_p1_tcp_client, login) as LoginCmdAck; Helper.add_text(this.txtMsg, string.Format("{0}数据服务器P1返回身份验证结果: {1}{0}", Environment.NewLine, (login_ack == null ? "失败" : (login_ack.status != 0 ? "失败" : "成功")))); if (login_ack == null) { throw new MsgBoxException("通信异常", "请确认与数据服务器P1之间的网络连接是否正常."); } if (login_ack.status != 0) { throw new MsgBoxException("验证失败", string.Format("密码错误或者工号不存在.错误代码={0}.", login_ack.status)); } //记录工号,后面备用 printer_id = item.login_name; } #endregion //可以考虑将三项任务中的2项改为并行执行,调用线程等待这2项任务的返回结果 Task <bool> task_dcm = null; Task <bool> task_report = null; #region 胶片本地打印 if (is_local_print_dcm && want_dcm) { task_dcm = Task.Factory.StartNew(() => { return(local_print_dcm(this.lblUserID.Text.Trim(), printer_id)); }); } #endregion #region 报告本地打印 if (is_local_print_report && want_report) { task_report = Task.Factory.StartNew(() => { return(local_print_report(this.lblUserID.Text.Trim(), printer_id)); }); } #endregion #region 报告和(/或者)胶片用服务器打印 try { if ((!is_local_print_report && want_report) || (!is_local_print_dcm && want_dcm)) { Helper.add_text(this.txtMsg, string.Format("{0}连接数据服务器P1: {1}{0}", Environment.NewLine, (Helper.is_tcp_client_normal(_p1_tcp_client) ? "成功" : "失败"))); string which = ""; if ((!is_local_print_report && want_report) && (!is_local_print_dcm && want_dcm)) { which = "报告和胶片"; } else if (!is_local_print_report && want_report) { which = "报告"; } else { which = "胶片"; } Helper.add_text(this.txtMsg, string.Format("{1}向数据服务器P1发打印{0}命令, 等待服务器P1返回结果...{1}", which, Environment.NewLine)); start_p1_tcp_client(); connect_p1_tcp_client(_p1_server_ip, _p1_server_port); //发打印命令 ServerPrintUserCmd spuc = new ServerPrintUserCmd(); spuc.sender_name = this_name; spuc.user_id = this.lblUserID.Text.Trim(); spuc.printer_id = printer_id; spuc.print_dcm = !is_local_print_dcm && want_dcm; spuc.print_report = !is_local_print_report && want_report; ServerPrintUserCmdAck spuc_ack = Helper.tcp_client_send_and_response(_p1_tcp_client, spuc, 60000) as ServerPrintUserCmdAck; Helper.add_text(this.txtMsg, string.Format("{0}数据服务器P1返回打印结果: {1}{0}", Environment.NewLine, (spuc_ack == null ? "失败" : "成功"))); if (spuc_ack == null) { throw new MsgBoxException("通信异常", "请确认与数据服务器P1之间的网络连接是否正常."); } if (spuc_ack.print_dcm) { Helper.add_text(this.txtMsg, string.Format("{0}打印胶片: {1}{0}", Environment.NewLine, (spuc_ack.print_dcm_ack == 0 ? "成功" : "失败"))); } if (spuc_ack.print_report) { Helper.add_text(this.txtMsg, string.Format("{0}打印报告: {1}{0}", Environment.NewLine, (spuc_ack.print_report_ack == 0 ? "成功" : "失败"))); } if (spuc_ack.print_dcm) { print_dcm_ok = (spuc_ack.print_dcm_ack == 0); } if (spuc_ack.print_report) { print_report_ok = (spuc_ack.print_report_ack == 0); } } } catch (MsgBoxException ex) { Helper.add_text(this.txtMsg, string.Format("{0}{1}, {2}{0}", Environment.NewLine, ex.Title, ex.Message)); } catch (System.Exception ex) { EzLogger.GlobalLogger.warning(string.Format("{0}{2}{1}{2}", ex.Message, ex.StackTrace, Environment.NewLine)); } #endregion if (task_dcm != null) { task_dcm.Wait(); print_dcm_ok = task_dcm.Result; } if (task_report != null) { task_report.Wait(); print_report_ok = task_report.Result; } } catch (MsgBoxException ex) { Helper.add_text(this.txtMsg, string.Format("{0}{1}, {2}{0}", Environment.NewLine, ex.Title, ex.Message)); } catch (System.Exception ex) { EzLogger.GlobalLogger.warning(string.Format("{0}{2}{1}{2}", ex.Message, ex.StackTrace, Environment.NewLine)); } finally { stop_p1_tcp_client(); ui_post_print(print_dcm_ok, print_report_ok); } }
public LoginPageVM(string dbContextName) : base(dbContextName) { ClearFeedback(); LoginCmd = new LoginCmd(this); }
public void Logear() { RegisterDependency.Init(); Assert.AreEqual(true, LoginCmd.Execute("admin", "Adm1nAdm1n").Identity.IsAuthenticated); }