public async Task <IActionResult> Login(LoginVIewModel model) { if (ModelState.IsValid) { var Result = await signInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, true); if (Result.Succeeded) { return(RedirectToAction("Index", "Home")); ////Code for users Confirmed by login //var user = await userManager.FindByNameAsync(model.UserName); //if (user.EmailConfirmed) //{ // return RedirectToAction("Index", "Home"); //} //else //{ // await signInManager.SignOutAsync(); //} } } return(View()); }
public LoginVIewModel message(LoginIn usuario) { LoginVIewModel lvm = new LoginVIewModel(); var v = unitOfWork.ConsignatarioRepository.Get(x => x.Email == usuario.Login); if (v != null) { foreach (var item in v) { if (!item.isEmailVerified.GetValueOrDefault()) { lvm.message = "Please verify your email first"; } if (string.Compare(Crypto.Hash(usuario.Password), item.AccessPassword) == 0) { lvm.passHash = 0; } else { lvm.message = "Invalid credential provided"; } } } else { lvm.message = "Invalid credential provided"; } return(lvm); }
public ActionResult AuthenticateUser(User user) { var manager = new DBManager("SpoonacularDB"); var authResult = manager.authenticateUser(user); var status = (AuthStatus)authResult.Status; if (status == AuthStatus.UserNotFound) { Session["userLogInStatus"] = new LoginVIewModel { authStatus = status }; return(RedirectToAction("Login")); } if (status == AuthStatus.WrongPassword) { Session["userLogInStatus"] = new LoginVIewModel { Email = user.Email, Name = user.Name, authStatus = status }; return(RedirectToAction("Login")); } if (status == AuthStatus.Authenticated) { Session["userLogInStatus"] = new LoginVIewModel { Email = user.Email, Name = user.Name, authStatus = status, UserId = authResult.UserId }; var cookie = new HttpCookie("currentUser", JsonConvert.SerializeObject(Session["userLogInStatus"])); cookie.Expires = DateTime.Now.AddMinutes(30); HttpContext.Response.Cookies.Add(cookie); return(RedirectToAction("Popular", "Food")); } return(Content("Error :(")); }
public ActionResult RegisterUser(User user) { var manager = new DBManager("SpoonacularDB"); var userId = manager.RegisterUser(user); Session["userLogInStatus"] = new LoginVIewModel { Email = user.Email, Name = user.Name, authStatus = AuthStatus.Authenticated, UserId = userId }; var cookie = new HttpCookie("currentUser", JsonConvert.SerializeObject(Session["userLogInStatus"])); cookie.Expires = DateTime.Now.AddMinutes(30); HttpContext.Response.Cookies.Add(cookie); return(RedirectToAction("Popular", "Food")); }
public async Task <AuthenticatedModel> Auth(LoginVIewModel login) { var res = await _signInManager.PasswordSignInAsync(login.uname, login.password, login.RememberMe, lockoutOnFailure : true); var Am = new AuthenticatedModel(); Am.sign = res; if (res.Succeeded) { var usr = await _userManager.FindByNameAsync(login.uname.ToUpper()); Am.name = usr.Name; Am.ID = usr.Id.ToString(); Am.uname = usr.UserName; Am.role = usr.IsAdmin ? "Admin" : "User"; } return(Am); }
public async Task <IActionResult> Login(LoginVIewModel vm) { if (ModelState.IsValid) { var result = await _signInManager.PasswordSignInAsync(vm.Email, vm.Password, vm.RememberMe, false); if (result.Succeeded) { return(RedirectToAction("index", "Asign")); } ModelState.AddModelError("", "Invalid Login"); } return(View(vm)); }
public async Task <IActionResult> Index(LoginVIewModel _user, string returnUrl) { var usr = await _authenticate.Auth(_user); if (usr.sign.Succeeded) { var claims = new List <Claim>(); claims.Add(new Claim(ClaimTypes.Name, usr.ID)); claims.Add(new Claim(ClaimTypes.Surname, usr.name)); claims.Add(new Claim(ClaimTypes.Role, usr.role)); var identity = new ClaimsIdentity( claims, CookieAuthenticationDefaults. AuthenticationScheme); var principal = new ClaimsPrincipal(identity); var props = new AuthenticationProperties(); props.IsPersistent = _user.RememberMe; HttpContext.SignInAsync( CookieAuthenticationDefaults. AuthenticationScheme, principal, props).Wait(); return(RedirectToAction("", "Home")); } else if (usr.sign.IsLockedOut) { ViewBag.err = "User Locked Out for Multiple Wrong Attempts"; return(View()); } else { ViewBag.err = "User Name / Password Error"; return(View()); } }