public ActionResult Signin([FromBody] LoginBindModel model) { var oper = operatorService.GetByCredentials(model.Email, model.Password); if (oper == null) { return(NotFound()); } var tokenString = BuildToken(oper); return(Ok(new { Token = tokenString, oper.FirstName })); }
public async Task <APIResult <AccessTokenViewModel> > Login(LoginBindModel loginBindModel) { if (ModelState.IsValid) { var user = _iSysUserService.GetAll() .FirstOrDefault( u => u.UserName == loginBindModel.UserName || u.Email == loginBindModel.UserName || u.PhoneNumber == loginBindModel.UserName); if (user == null) { ModelState.AddModelError("UserName", "用户不存在"); } else { var result = await SignInManager.PasswordSignInAsync(user.UserName, loginBindModel.Password, false, true); switch (result) { case SignInStatus.Success: var data = await GetAccessToken(user); if (data != null) { return(new APIResult <AccessTokenViewModel>(data, 0, "登录成功")); } break; case SignInStatus.RequiresVerification: //需要验证,转到验证步骤 return(new APIResult <AccessTokenViewModel>(null, 1, "需要验证后方能登录")); case SignInStatus.LockedOut: ModelState.AddModelError("", "用户已锁定"); break; default: ModelState.AddModelError("Password", "密码错误"); break; } } } return(new APIResult <AccessTokenViewModel>(null, 100, "登录失败", ModelState)); }