Advertisement
Guest User

Untitled

a guest
Dec 19th, 2018
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.71 KB | None | 0 0
  1. /**
  2.      * odpowiada za logowanie, sprawdzenie czy podane parametry idstnieja w bazie
  3.      * @param String username, String password
  4.      * @return jezeli uzytkownik istnieje w bazie zwraca objekt uzytkownika, w przeciwnym razie zwraca null
  5.      */
  6. public User Login(String username, String password) throws NoSuchAlgorithmException
  7.     {
  8.         session.beginTransaction();
  9.        
  10.         Query q = session.createQuery("FROM User WHERE Username = :un AND Password = :pa");
  11.         q.setParameter("un", username);
  12.         q.setParameter("pa", getSecurePassword(password)); //haszowanie hasla sha-256
  13.        
  14.         User user =  (User)q.uniqueResult();
  15.        
  16.         session.getTransaction().commit();
  17.        
  18.         return user;
  19.     }
  20.    
  21. /**
  22.      * odpowiada za rejestracje nowego uzytkownika w bazie, sprawdza czy nazwa uzytkownika jest w bazie, nastepnie czy podany adres email jest w bazie, jezeli nie tworzy obiekt User i dodaje do do bazy
  23.      * @param String username, String password, String email, UserType type
  24.      * @return zwraca RegisterStatus.UsernameExist jezeli nazwa uzytkownika istnieje w bazie, RegisterStatus.EmailExists jezeli adres email istnieje w bazie, RegisterStatus.Success jezeli pomyslnie dodano uzytkownika do bazy
  25.      */
  26.     public RegisterStatus Registry(String username, String password, String email, UserType type)// throws Exception
  27.     {
  28.         RegisterStatus status = RegisterStatus.Success;
  29.        
  30.         session.beginTransaction();
  31.         Query q;
  32.         Email emailExist = null;
  33.         if(type == UserType.Client)
  34.         {
  35.             q = session.createQuery("FROM Email WHERE email = :e");
  36.             q.setParameter("e", email);
  37.             emailExist = (Email)q.uniqueResult();
  38.         }
  39.        
  40.         q = session.createQuery("FROM User WHERE Username = :u");
  41.         q.setParameter("u", username);
  42.         User usernameExist = (User)q.uniqueResult();
  43.        
  44.         session.getTransaction().commit();
  45.        
  46.         if(emailExist != null && type == UserType.Client)
  47.                 return RegisterStatus.EmailExists;
  48.  
  49.         if(usernameExist != null)
  50.             return RegisterStatus.UsernameExists;
  51.        
  52.         Email emailObj = new Email();
  53.         emailObj.setEmail(email);
  54.        
  55.         User userObj = new User();
  56.        
  57.         if(type == UserType.Client)
  58.             userObj.setID_email(emailObj);
  59.        
  60.         userObj.setUsername(username);
  61.         userObj.setPassword(getSecurePassword(password));
  62.         userObj.setUserType(type.toString());
  63.            
  64.         session.beginTransaction();
  65.         session.save(userObj);
  66.         session.getTransaction().commit();
  67.        
  68.         return RegisterStatus.Success;
  69.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement