public async Task <ActionResult> LogOn(LogOnModel model, string returnUrl) { if (ModelState.IsValid) { #if !DEBUG if (Request.IsSecureConnection) { #endif //not required, but just an additional 'set' to give the user web api auth access string tokenURL = Url.Absolute(Url.Content("~/token")); await TokenHolder.SetBearerTokenFromOAuth(tokenURL, model.UserName, model.Password); #if !DEBUG } #endif // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: ICustomUser usr = await UserManager.FindByNameAsync(model.UserName); return(HandleAfterPasswordSuccess(usr, model, returnUrl)); //case SignInStatus.LockedOut: //return View("Lockout"); //case SignInStatus.RequiresVerification: //this is for 2 factor validation //return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } } else { return(View(model)); } }
public static string GetPasswordAfterHashing(string passwordToHash, ICustomUser usr) { string providedPasswordAfterHash = passwordToHash; if (!string.IsNullOrEmpty(passwordToHash)) { if (usr != null) { if (usr.PasswordIterationCount > 0 && usr.PasswordSalt != null) { providedPasswordAfterHash = CustomEncrypt.PBKDF2HashedPassword(passwordToHash, usr.PasswordSalt, usr.PasswordIterationCount); } else { throw new InvalidOperationException("no salt or password iteration found"); } } else { throw new InvalidOperationException("usr not declared"); } } return(providedPasswordAfterHash); }
private ActionResult HandleAfterPasswordSuccess(ICustomUser usr, LogOnModel mdl, string returnUrl) { //random section here to do things to flush out the user or their settings. right now this is merely a placeholder return(RedirectToHome(returnUrl)); }
static void GetProxy(ICustomUser proxy) { proxy.GetFuelStatus(); proxy.ShowMeTheLocation(); }