예제 #1
0
 public static LoginStatus SignIn(String email, String password)
 {
     try
     {
         var emailCheck = new EmailCheck();
         if (String.IsNullOrWhiteSpace(email) || String.IsNullOrWhiteSpace(password))
         {
             return(LoginStatus.EmptyValue);
         }
         if (!emailCheck.IsValidEmail(email) || password.Length > 15 || password.Length < 5)
         {
             return(LoginStatus.NotValid);
         }
         var rep  = new GenericRepository.Repository();
         var user = rep.Context.Users.Where(x => x.Email == email).FirstOrDefault();
         if (user != null)
         {
             var userPass = user.Password;
             var userSalt = user.Salt;
             using (MD5 md5Hash = MD5.Create())
             {
                 if (VerifyMd5Hash(md5Hash, password + userSalt, userPass))
                 {
                     return(LoginStatus.Success);
                 }
                 else
                 {
                     return(LoginStatus.NotValid);
                 }
             }
         }
         else
         {
             return(LoginStatus.UserDoesNotExist);
         }
     }
     catch (Exception ex)
     {
         return(LoginStatus.UnexpectedError);
     }
 }
예제 #2
0
 public static RegisterStatus SignUp(String password, String email, String firstName, String lastName)
 {
     try
     {
         var emailCheck = new EmailCheck();
         if (String.IsNullOrWhiteSpace(email) || String.IsNullOrWhiteSpace(password) || String.IsNullOrWhiteSpace(firstName) || String.IsNullOrWhiteSpace(lastName))
         {
             return(RegisterStatus.EmptyValue);
         }
         if (!emailCheck.IsValidEmail(email) || password.Length > 15 || password.Length < 5)
         {
             return(RegisterStatus.NotValid);
         }
         using (var rep = new GenericRepository.Repository())
         {
             if (rep.Context.Users.Where(x => x.Email == email).FirstOrDefault() != null)
             {
                 return(RegisterStatus.EmailExists);
             }
             String hash = String.Empty;
             String salt = String.Empty;
             using (MD5 md5Hash = MD5.Create())
             {
                 salt = GetSalt();
                 hash = GetMd5Hash(md5Hash, password + salt);
             }
             rep.Add(new User {
                 Email = email, Password = hash, Salt = salt, FirstName = firstName, LastName = lastName, PermissionId = 1
             });
             rep.Save();
             return(RegisterStatus.Success);
         }
     }
     catch (Exception ex)
     {
         return(RegisterStatus.UnexpectedError);
     }
 }
예제 #3
0
 public static RegisterStatus SignUp(String password, String email, String firstName, String lastName)
 {
     try
     {
         var emailCheck = new EmailCheck();
         if (String.IsNullOrWhiteSpace(email) || String.IsNullOrWhiteSpace(password) || String.IsNullOrWhiteSpace(firstName) || String.IsNullOrWhiteSpace(lastName))
            return RegisterStatus.EmptyValue;
         if (!emailCheck.IsValidEmail(email) || password.Length > 15 || password.Length < 5)
             return RegisterStatus.NotValid;
         using (var rep = new GenericRepository.Repository())
         {
             if (rep.Context.Users.Where(x => x.Email == email).FirstOrDefault() != null)
             {
                 return RegisterStatus.EmailExists;
             }
             String hash = String.Empty;
             String salt = String.Empty;
             using (MD5 md5Hash = MD5.Create())
             {
                 salt = GetSalt();
                 hash = GetMd5Hash(md5Hash, password + salt);
             }
             rep.Add(new User { Email = email, Password = hash, Salt = salt, FirstName = firstName, LastName = lastName, PermissionId = 1 });
             rep.Save();
             return RegisterStatus.Success;
         }
     }
     catch (Exception ex)
     {
         return RegisterStatus.UnexpectedError;
     }
 }
예제 #4
0
 public static LoginStatus SignIn(String email, String password)
 {
     try
     {
         var emailCheck = new EmailCheck();
         if (String.IsNullOrWhiteSpace(email) || String.IsNullOrWhiteSpace(password))
             return LoginStatus.EmptyValue;
         if (!emailCheck.IsValidEmail(email) || password.Length > 15 || password.Length < 5)
             return LoginStatus.NotValid;
         var rep = new GenericRepository.Repository();
         var user = rep.Context.Users.Where(x => x.Email == email).FirstOrDefault();
         if (user != null)
         {
             var userPass = user.Password;
             var userSalt = user.Salt;
             using (MD5 md5Hash = MD5.Create())
             {
                 if (VerifyMd5Hash(md5Hash, password + userSalt, userPass))
                     return LoginStatus.Success;
                 else
                     return LoginStatus.NotValid;
             }
         }
         else
             return LoginStatus.UserDoesNotExist;
     }
     catch (Exception ex)
     {
         return LoginStatus.UnexpectedError;
     }
 }