Advertisement
Guest User

Untitled

a guest
Jun 7th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. package PresentationLayer;
  2.  
  3. import FunctionLayer.LogicFacade;
  4. import FunctionLayer.LoginSampleException;
  5. import FunctionLayer.User;
  6. import java.io.IOException;
  7. import java.security.NoSuchAlgorithmException;
  8. import java.security.spec.InvalidKeySpecException;
  9. import java.util.logging.Level;
  10. import java.util.logging.Logger;
  11. import javax.servlet.ServletException;
  12. import javax.servlet.http.HttpServletRequest;
  13. import javax.servlet.http.HttpServletResponse;
  14. import javax.servlet.http.HttpSession;
  15.  
  16. public class Login extends Command {
  17.  
  18. @Override
  19. String execute(HttpServletRequest request, HttpServletResponse response) throws LoginSampleException {
  20.  
  21. String email = request.getParameter("email");
  22. String password = request.getParameter("password");
  23.  
  24. // her henter vi salten fra brugeren, til at validere brugeren.
  25. try {
  26. byte[] salt = LogicFacade.getSalt(email);
  27.  
  28. byte[] attemptedPassword = LogicFacade.getEncryptedPassword(password, salt);
  29.  
  30. if (LogicFacade.authenticate(password, attemptedPassword, salt)) {
  31.  
  32. User user = null;
  33. user = LogicFacade.login(email, password);
  34.  
  35. HttpSession session = request.getSession();
  36. session.setAttribute("user", user);
  37. session.setAttribute("role", user.getRole());
  38.  
  39. return user.getRole() + "page";
  40.  
  41. } else {
  42.  
  43. // Vi logger salten og det hashede password til loggeren
  44. }
  45.  
  46. } catch (NoSuchAlgorithmException | InvalidKeySpecException ex) {
  47. Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
  48.  
  49. String errorMessage = "We have an internal problem, but we are working as hard as possible, to solve it.";
  50. Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
  51. request.setAttribute("errorMessage", errorMessage);
  52. try {
  53. request.getRequestDispatcher("/index.jsp").forward(request, response);
  54. } catch (ServletException | IOException ex1) {
  55. Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex1);
  56. }
  57. // her bliver der kun kastet en error, hvis det er vores valideringsmetoder, der ikke virker... // tror jeg
  58.  
  59. // her bliver der kun kastet en error, hvis det er vores valideringsmetoder, der ikke virker... // tror jeg
  60. } catch (LoginSampleException ex) {
  61. String errorMessage = "The retrived password or username did not match, please try again.";
  62. Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
  63. request.setAttribute("errorMessage", errorMessage);
  64.  
  65. try {
  66. request.getRequestDispatcher("/index.jsp").forward(request, response);
  67. } catch (ServletException | IOException ex1) {
  68. Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex1);
  69. }
  70. }
  71. return null;
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement