Beispiel #1
0
 public static bool IsValidUser(string email, string password, string passwordAgain, out List<string> errors)
 {
     errors = new List<string>();
     if (!IsValidEmail(email)) errors.Add(Properties.Resources.NotAValidEmailAddress);
     if (!IsValidPassword(password)) errors.Add(Properties.Resources.NotAValidPassword);
     if (password != passwordAgain) errors.Add(Properties.Resources.PasswordsDonTMatch);
     if (!errors.Any())
     {
         DataBase db = DataBase.GetInstance();
         if (db.Users.Any(u => u.Email == email)) errors.Add(Properties.Resources.EmailIsTaken);
     }
     return !errors.Any();
 }
Beispiel #2
0
        public static bool LogIn(string username, string password)
        {
            if (DB == null)
            {
                DB = DataBase.GetInstance();
            }
            password = HashPassword(password);

            Models.User user = DB.Users.FirstOrDefault(u => u.Email == username);
            if (user == null || user.PasswordHash != password)
            {
                Thread.Sleep(Properties.Settings.Default.FailedLogInSleep);
                return(IsLoggedIn = false);
            }

            CurrentController.Session["UserInfo"] = Info = user;
            return(true);
        }
Beispiel #3
0
        public static bool LogIn()
        {
            if (DB == null)
            {
                DB = DataBase.GetInstance();
            }
            if (!CurrentController.Session.AsEnumerable().Any(i => i.Key == "UserInfo" && i.Value.GetType() == typeof(Models.User)))
            {
                return(false);
            }
            Models.User userInfo = (Models.User)CurrentController.Session["UserInfo"];

            Models.User user = DB.Users.FirstOrDefault(u => u.Email == userInfo.Email);
            if (user == null || user.PasswordHash != userInfo.PasswordHash)
            {
                return(IsLoggedIn = false);
            }

            CurrentController.Session["UserInfo"] = Info = user;
            return(true);
        }