public async Task <IActionResult> ApiLogin([FromBody] CaUserLoginModel caUserLoginModel) { var apiMsg = new ApiMessage(); try { var resultTuple = await userAccountBusiness.LoginUserNamePwd(caUserLoginModel); if (resultTuple.Item1) { var accessToken = Guid.NewGuid().ToString(); var redisDoc = new RedisDocument <string>(); redisDoc.ExpireTime = DateTime.Now.AddDays(30); redisDoc.SetTime = DateTime.Now; redisDoc.Value = resultTuple.Item3; redisDoc.Key = accessToken; await distributedCache.SetValue(redisDoc); apiMsg.Data = accessToken; } else { apiMsg.SetFault(resultTuple.Item2); } } catch (Exception exc) { apiMsg.SetFault(exc); } return(Json(apiMsg)); }
public async Task <IActionResult> Login(CaUserLoginModel loginModel) { var result = new ApiMessage(); var loginResult = await userAccountBusiness.LoginUserNamePwd(loginModel); if (loginResult.Item1) { var str = JsonConvert.SerializeObject(loginResult.Item3); HttpContext.Session.SetString(UserAccountBusiness.UserAccountSessionkey, str); await HttpContext.Session.CommitAsync(); result.Success = true; result.Message = "登录成功"; } else { result.Success = false; result.Message = loginResult.Item2; } return(Json(result)); }
public async Task <Tuple <bool, string, string> > LoginUserNamePwd(CaUserLoginModel loginModel) { if (loginModel == null) { return(Tuple.Create(false, "注册信息为空", string.Empty)); } if (string.IsNullOrEmpty(loginModel.UserName) || string.IsNullOrEmpty(loginModel.Password)) { return(Tuple.Create(false, "用户名或密码不能为空", string.Empty)); } var userEntity = await userAccountAccessor.OneAsync <UserAccountEntry>(x => x.UserNamePwd.UserName == loginModel.UserName, "UserNamePwd"); if (userEntity == null) { return(Tuple.Create(false, "用户名不存在", string.Empty)); } string sha256String = EncryptPwd(loginModel.Password); if (userEntity.UserNamePwd.Password != sha256String) { return(Tuple.Create(false, "密码错误", string.Empty)); } if (!string.IsNullOrEmpty(loginModel.IP)) { var loginLog = new UserAccountLoginLog { UserAccountEntryId = userEntity.Id, CreateTime = DateTime.Now, Id = Guid.NewGuid(), IP = loginModel.IP }; await userAccountAccessor.Add(loginLog); } return(Tuple.Create(true, "登录成功", userEntity.Id.ToString())); }
public async Task <IActionResult> Login([FromBody] CaUserLoginModel caUserLoginModel) { var resultTuple = await userAccountBusiness.LoginUserNamePwd(caUserLoginModel); var apiMsg = new ApiMessage(); if (resultTuple.Item1) { apiMsg.Message = resultTuple.Item2; HttpContext.Session.Set (UserAccountBusiness.UserAccountSessionkey, Encoding.UTF8.GetBytes(resultTuple.Item3)); await HttpContext.Session.CommitAsync(); await SetAuth(resultTuple.Item3); apiMsg.Data = resultTuple.Item3; } else { apiMsg.SetFault(resultTuple.Item2); } return(Json(apiMsg)); }