public static void ChangePassword(string username, string oldPassword, string newPassword)
 {
     try
     {
         if (ValidateUser(username, oldPassword))
         {
             using (var db = new KbVaultContext())
             {
                 KbUser usr = db.KbUsers.FirstOrDefault(ku => ku.UserName == username);
                 if (usr != null)
                 {
                     usr.Password = HashPassword(newPassword, Guid.NewGuid().ToString().Replace("-", string.Empty));
                     db.SaveChanges();
                 }
                 else
                 {
                     throw new UserNotFoundException();
                 }
             }
         }
         else
         {
             throw new InvalidPasswordException();
         }
     }
     catch (Exception ex)
     {
         Log.Error(ex);
         throw;
     }
 }
Ejemplo n.º 2
0
 public static bool ValidateUser(string userName, string password)
 {
     try
     {
         using (var db = new KbVaultContext())
         {
             KbUser usr = GetKbUser(userName);
             if (usr == null)
             {
                 return(false);
             }
             return(VerifyHash(password, usr.Password));
         }
     }
     catch (Exception ex)
     {
         Log.Error(ex);
         throw;
     }
 }
 public static KbUser CreateUser(string username, string password, string email, string role, long author)
 {
     try
     {
         using (var db = new KbVaultContext())
         {
             KbUser usr = new KbUser();
             usr.Password = HashPassword(password, Guid.NewGuid().ToString().Replace("-", string.Empty));
             usr.UserName = username;
             usr.Email    = email;
             usr.Role     = role;
             usr.Author   = author;
             db.KbUsers.Add(usr);
             db.SaveChanges();
             return(usr);
         }
     }
     catch (Exception ex)
     {
         Log.Error(ex);
         throw;
     }
 }
 public static void AdminChangePassword(long id, string newPassword)
 {
     try
     {
         using (var db = new KbVaultContext())
         {
             KbUser usr = db.KbUsers.FirstOrDefault(ku => ku.Id == id);
             if (usr != null)
             {
                 usr.Password = HashPassword(newPassword, Guid.NewGuid().ToString().Replace("-", string.Empty));
                 db.SaveChanges();
             }
             else
             {
                 throw new UserNotFoundException();
             }
         }
     }
     catch (Exception ex)
     {
         Log.Error(ex);
         throw;
     }
 }