Guest User

Untitled

a guest
Dec 12th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. public Customer validateCustomer(Customer customer) {
  2.  
  3. //get the customer from the database
  4. Query q = em.createQuery("SELECT c from Customer c WHERE c.login = :username");
  5. q.setParameter("username", customer.getLogin());
  6. List<Customer> results = q.getResultList();
  7.  
  8. //check if user exsists
  9. if(!results.isEmpty()){
  10. Customer fromDb = results.get(0);
  11.  
  12. //check if user provided correct password
  13. if (!fromDb.getPassword().equals(customer.getPassword())) {
  14. return null;
  15. } else {
  16. //create the session token and save it to the database
  17. Random random = new SecureRandom();
  18. String token = new BigInteger(130, random).toString(32);
  19. tx.begin();
  20. int executeUpdate = em.createQuery("UPDATE Customer c SET c.token = :token WHERE c.id = :id")
  21. .setParameter("token", token)
  22. .setParameter("id", fromDb.getId())
  23. .executeUpdate();
  24. tx.commit();
  25. em.close();
  26.  
  27. //update previously pulled customer with the token
  28. fromDb.setToken(token);
  29.  
  30. //return the customer
  31. return fromDb;
  32. }
  33. } else {
  34. return null;
  35. }
  36. }
  37.  
  38. public Response login (Customer customer){
  39. Customer c = customerService.validateCustomer(customer);
  40. if (c != null){
  41. return Response.status(Response.Status.OK).entity(c).build();
  42. //System.out.println(c);
  43. } else {
  44. return Response.status(Response.Status.FORBIDDEN).entity("Incorrect username or password.").build();
  45. }
  46. }
  47.  
  48. Customer c = new Customer();
  49. c.setEmail(fromDb.getEmail());
  50. c.setLogin(fromDb.getLogin());
  51. c.setToken(token);
  52. c.setId(fromDb.getId());
Add Comment
Please, Sign In to add comment