public async Task <ActionResult> AdminLogIn(LoginViewModelAdmin loginViewModelAdmin) { if (!ModelState.IsValid) { ModelState.AddModelError("", "Şifrə və ya Email düzgün deyil"); return(View(loginViewModelAdmin)); } ApplicationUser user = await _userManager.FindByEmailAsync(loginViewModelAdmin.Email); if (user == null) { ModelState.AddModelError("", "Bu adlı istifadəçi yoxdur"); return(View(loginViewModelAdmin)); } Microsoft.AspNetCore.Identity.SignInResult result = await _signInManager.PasswordSignInAsync(user, loginViewModelAdmin.Password, true, true); if (!result.Succeeded) { ModelState.AddModelError("", "Şifrə və ya Email düzgün deyil"); return(View(loginViewModelAdmin)); } return(RedirectToAction("Index", "Dashboard")); }
public ActionResult Login(LoginViewModelAdmin model) { if (!ModelState.IsValid) { return(View(model)); } var emp = db.Employees.Where(e => e.UserName.Equals(model.UserName) && e.Password.Equals(model.Password)).SingleOrDefault(); if (emp != null) { if (emp.Status == true) { FormsAuthentication.SetAuthCookie(emp.UserName, true); return(Json(new { status = true, url = Url.Action("Index", "Home", new { area = "Admin" }) })); } return(Json(new { status = false, message = Constants.ERR_LOCK_CREDENTIAL })); } else { return(Json(new { status = false, message = Constants.ERR_WRONG_CREDENTIAL })); } }
public async Task <IActionResult> Authen(LoginViewModelAdmin model) { try { if (ModelState.IsValid) { if (string.IsNullOrEmpty(model.UserName)) { return(new ObjectResult(new GenericResult(false, "Chưa nhập tài khoản"))); } if (string.IsNullOrEmpty(model.Password)) { return(new ObjectResult(new GenericResult(false, "Chưa nhập mật khẩu"))); } var user = await _userManager.FindByNameAsync(model.UserName); if (user == null) { _logger.LogWarning("Không tìm thấy tài khoản."); return(new ObjectResult(new GenericResult(false, "Không tìm thấy tài khoản"))); } if (user.Status == Status.InActive) { _logger.LogWarning("Tài khoản đã bị khóa."); return(new ObjectResult(new GenericResult(false, "Tài khoản đã bị khoá"))); } // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, set lockoutOnFailure: true var result = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, lockoutOnFailure : false); if (result.Succeeded) { //_cache.Remove("ListMenu"); _logger.LogInformation("User logged in."); return(new OkObjectResult(new GenericResult(true))); } if (result.IsLockedOut) { _logger.LogWarning("User account locked out."); return(new ObjectResult(new GenericResult(false, "Tài khoản đã bị khoá"))); } else { return(new ObjectResult(new GenericResult(false, "Tên đăng nhập hoặc mật khẩu không đúng"))); } } // If we got this far, something failed, redisplay form return(new ObjectResult(new GenericResult(false, model))); } catch (Exception ex) { _logger.LogError(ex.Message); return(new ObjectResult(new GenericResult(false, model))); } }
public async Task <JsonResult> Login(LoginViewModelAdmin account) { var result = await SignInManager.PasswordSignInAsync(account.Email, account.Password, account.RememberMe, shouldLockout : true); switch (result) { case SignInStatus.Success: var temp = await SignInManager.UserManager.FindByEmailAsync(account.Email); var CheckUserCondition = UserManager.GetRoles(temp.Id).Select(x => x); if (CheckUserCondition.Where(x => !x.StartsWith("Customer")).Count() > 0) { return(Json(new { Status = 0, Error = "Done", ReturnUrl = account.ReturnLink })); } else { SignInManager.AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie); return(Json(new { Status = 4, Error = "Không có quyền đăng nhập vào đây!", })); } case SignInStatus.LockedOut: SignInManager.AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie); return(Json(new { Status = 1, Error = "Tài khoản bị khóa" })); case SignInStatus.RequiresVerification: return(Json(new { Status = 2, Error = "NeedVerification" })); case SignInStatus.Failure: default: SignInManager.AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie); return(Json(new { Status = 3, Error = "Sai tên đang nhập hoặc mật khẩu" })); } }
public async Task <ActionResult> ViewPartialLoginAdmin([Bind(Include = "Usuario,Password")] LoginViewModelAdmin model) { //Valido los campos del modelo if (!ModelState.IsValid) { return(View(model)); } //Valido el capcha if (!this.IsCaptchaValid("Captcha is not valid")) { ModelState.AddModelError(string.Empty, "Error: captcha no es válido."); } //si el captcha es valido else { try { var Password = Crypto.SHA256(model.Password); var salt = Crypto.GenerateSalt(); var hashedPassword = Crypto.HashPassword(salt + Password); //Ejecuto los valores var response = db.SP_Ingreso_Usuario_Administrador(model.Usuario, model.Password).FirstOrDefault(); // await db.SaveChangesAsync(); // if (response != null && response.codigo.Equals(200)) { var obj = db.Web_Administrador.Where(u => u.usuario.Equals(model.Usuario)).FirstOrDefault(); /**/ FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, obj.administrador_id.ToString(), DateTime.Now, DateTime.Now.AddMinutes(15), true, obj.FK_web_administrador_rol.ToString()); String Encrypt = FormsAuthentication.Encrypt(ticket); HttpCookie cookie = new HttpCookie("TIKECTCOOKIE", Encrypt); //Pongo en cookie el rol del usuario para traer los datos del tablero de control HttpCookie cookierol = new HttpCookie("fkrol", obj.FK_web_administrador_rol.ToString()); Response.Cookies.Add(cookierol); Response.Cookies.Add(cookie); /**/ return(RedirectToAction("Index", "Tablero")); } else if (response.codigo != 200) { ModelState.AddModelError(string.Empty, response.mensaje); } else { //Limpio campos ModelState.Clear(); //envio un mensaje al usuario ModelState.AddModelError(string.Empty, "La plataforma no esta respondiendo a su solicitud, por favor intente mas tarde"); } } catch (Exception e) { //envio error a la api logs errores //y envio a la carpeta logs APIS.LogsController log = new APIS.LogsController(e.ToString()); log.createFolder(); //Limpio campos ModelState.Clear(); //envio error mensaje al usuario ModelState.AddModelError(string.Empty, "Estamos presentando dificultades en el momento por favor intente mas tarde "); } }//fin else captcha //retorno la vista en caso de que no se efectue el regsitro return(View("IndexAdmin", model)); }