public LoginResponse Login(string userName, string passHash) { EventHandler eventToFire = LoginFailed; LoginResponse result = GetFailure <LoginResponse>(new Exception("User name and password combination was invalid")); try { bool passwordIsValid = Authenticator.IsPasswordValid(userName, passHash); if (passwordIsValid) { eventToFire = LoginSucceeded; result = GetSuccess <LoginResponse>(passwordIsValid); User user = null; if (userName.Contains("@")) { user = User.GetByEmail(userName, Database); } else { user = User.GetByUserName(userName, Database); } DaoUserResolver.SetUser(HttpContext, user, true, Database); user.AddLoginRecord(Database); } } catch (Exception ex) { eventToFire = LoginFailed; result = GetFailure <LoginResponse>(ex); } FireEvent(eventToFire, EventArgs.Empty); return(result); }
public object Clone() { DaoUserResolver clone = new DaoUserResolver(); clone.CopyProperties(this); return(clone); }
public LoginResponse Login(string userName, string passHash) { string failureMessage = "User name and password combination was invalid"; EventHandler eventToFire = LoginSucceeded; LoginResponse result = GetFailure <LoginResponse>(new Exception("Unknown exception occurred")); try { User user = null; if (userName.Contains("@")) { user = User.GetByEmail(userName, Database); } else { user = User.GetByUserName(userName, Database); } if (user != null) { bool passwordIsValid = Password.Validate(user, passHash, Database); result = GetSuccess <LoginResponse>(passwordIsValid); if (!passwordIsValid) { result.Message = failureMessage; result.Success = false; eventToFire = LoginFailed; } else { DaoUserResolver.SetUser(HttpContext, user, true, Database); user.AddLoginRecord(Database); } } else { eventToFire = LoginFailed; result = GetFailure <LoginResponse>(new Exception(failureMessage)); } } catch (Exception ex) { eventToFire = LoginFailed; result = GetFailure <LoginResponse>(ex); } FireEvent(eventToFire, EventArgs.Empty); return(result); }