Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package PresentationLayer;
- import FunctionLayer.LogicFacade;
- import FunctionLayer.LoginSampleException;
- import FunctionLayer.User;
- import java.io.IOException;
- import java.security.NoSuchAlgorithmException;
- import java.security.spec.InvalidKeySpecException;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- public class Login extends Command {
- @Override
- String execute(HttpServletRequest request, HttpServletResponse response) throws LoginSampleException {
- String email = request.getParameter("email");
- String password = request.getParameter("password");
- // her henter vi salten fra brugeren, til at validere brugeren.
- try {
- byte[] salt = LogicFacade.getSalt(email);
- byte[] attemptedPassword = LogicFacade.getEncryptedPassword(password, salt);
- if (LogicFacade.authenticate(password, attemptedPassword, salt)) {
- User user = null;
- user = LogicFacade.login(email, password);
- HttpSession session = request.getSession();
- session.setAttribute("user", user);
- session.setAttribute("role", user.getRole());
- return user.getRole() + "page";
- } else {
- // Vi logger salten og det hashede password til loggeren
- }
- } catch (NoSuchAlgorithmException | InvalidKeySpecException ex) {
- Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
- String errorMessage = "We have an internal problem, but we are working as hard as possible, to solve it.";
- Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
- request.setAttribute("errorMessage", errorMessage);
- try {
- request.getRequestDispatcher("/index.jsp").forward(request, response);
- } catch (ServletException | IOException ex1) {
- Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex1);
- }
- // her bliver der kun kastet en error, hvis det er vores valideringsmetoder, der ikke virker... // tror jeg
- // her bliver der kun kastet en error, hvis det er vores valideringsmetoder, der ikke virker... // tror jeg
- } catch (LoginSampleException ex) {
- String errorMessage = "The retrived password or username did not match, please try again.";
- Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
- request.setAttribute("errorMessage", errorMessage);
- try {
- request.getRequestDispatcher("/index.jsp").forward(request, response);
- } catch (ServletException | IOException ex1) {
- Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex1);
- }
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement