public async Task <IActionResult> UserLogin(AccountLoginEntity loginEntity) { var result = AccountService.UserLogin(loginEntity); if (result.Success) { var userIdentity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme); userIdentity.AddClaim(new Claim(ClaimTypes.Sid, result.Result.UserName)); userIdentity.AddClaim(new Claim(ClaimTypes.Name, result.Result.UserName)); userIdentity.AddClaim(new Claim(ClaimTypes.Role, result.Result.UserName)); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(userIdentity)); //写入session CookieCredential cookieCredential = new CookieCredential { UserName = result.Result.UserName, Password = result.Result.Password }; UserCredential.SetSession(cookieCredential); //if (returnUrl == null) // returnUrl = TempData["returnUrl"]?.ToString(); //登录成功-加载权限 Logger.Info(string.Format("用户:{0}登录成功", result.Result.UserName)); } return(Json(new ServiceResult <string> { Success = result.Success, ErrorMessage = result.ErrorMessage })); }
public ActionResult Login(AccountLoginEntity model) { if (ModelState.IsValid) { using (tradeadvisorEntities conexao = new tradeadvisorEntities()) { //AutenticaGoodData(); var user = conexao.usuarios.Where(c => c.tx_email == model.tx_email && c.tx_senha == model.tx_senha).FirstOrDefault(); if (user == null) { ModelState.AddModelError("", "Login ou senha inválidos!"); return View(model); } FormsAuthentication.SetAuthCookie(model.tx_email, true); //Redirecionar no login if (Url.IsLocalUrl(model.ReturnUrl)) return Redirect(model.ReturnUrl); else return RedirectToAction("Index", "Home"); } } return View(model); }
/// <summary> /// 登录 /// </summary> /// <param name="loginEntity"></param> /// <returns></returns> public ServiceResult <AccountEntity> UserLogin(AccountLoginEntity loginEntity) { var result = new ServiceResult <AccountEntity>(); if (string.IsNullOrEmpty(loginEntity.UserName)) { result.ErrorMessage = "账号为空"; return(result); } if (string.IsNullOrEmpty(loginEntity.Password)) { result.ErrorMessage = "密码为空"; return(result); } if (loginEntity.Password.Length < 6 || loginEntity.Password.Length > 12) { result.ErrorMessage = "密码长度有误,请输入6-12位密码"; return(result); } try { var model = BaseService.FindNoTracking(x => x.UserName == loginEntity.UserName); if (model != null) { if (!EncryptPwd.CheckSaltPwd(model.Salt, loginEntity.Password, model.Password)) { result.ErrorMessage = "用户名或密码有误"; return(result); } result.Result = MapperService.Map <AccountEntity>(model); result.Success = true; return(result); } } catch (Exception ex) { Logger.ErrorFormat("异常:{0}", ex); } result.ErrorMessage = "用户名或密码有误"; return(result); }