Advertisement
Guest User

Untitled

a guest
May 5th, 2018
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.30 KB | None | 0 0
  1. package java.SDEV425_HW4;
  2.  
  3. import org.apache.derby.jdbc.ClientDataSource;
  4.  
  5. import javax.servlet.RequestDispatcher;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import javax.servlet.http.HttpSession;
  11. import java.io.IOException;
  12. import java.io.PrintWriter;
  13. import java.sql.Connection;
  14. import java.sql.PreparedStatement;
  15. import java.sql.ResultSet;
  16. import java.sql.Statement;
  17.  
  18.  
  19. public class Authenticate extends HttpServlet {
  20.  
  21.     // variables
  22.     private String username;
  23.     private String pword;
  24.     private Boolean isValid;
  25.     private int user_id;
  26.     private HttpSession session;
  27.  
  28.     /**
  29.      * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
  30.      * methods.
  31.      *
  32.      * @param request  servlet request
  33.      * @param response servlet response
  34.      * @throws IOException      if an I/O error occurs
  35.      */
  36.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  37.             throws IOException {
  38.         response.setContentType( "text/html;charset=UTF-8" );
  39.         try (PrintWriter out = response.getWriter()) {
  40.             /* TODO output your page here. You may use following sample code. */
  41.             out.println( "<!DOCTYPE html>" );
  42.             out.println( "<html>" );
  43.             out.println( "<head>" );
  44.             out.println( "<title>Servlet Authenticate</title>" );
  45.             out.println( "</head>" );
  46.             out.println( "<body>" );
  47.             out.println( "<h1>Servlet Authenticate at " + request.getContextPath() + "</h1>" );
  48.             out.println( "<h1>Results are " + username + "," + isValid + "</h1>" );
  49.             out.println( "</body>" );
  50.             out.println( "</html>" );
  51.         }
  52.     }
  53.  
  54.     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
  55.  
  56.     /**
  57.      * Handles the HTTP <code>GET</code> method.
  58.      *
  59.      * @param request  servlet request
  60.      * @param response servlet response
  61.      * @throws ServletException if a servlet-specific error occurs
  62.      * @throws IOException      if an I/O error occurs
  63.      */
  64.     @Override
  65.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  66.             throws ServletException, IOException {
  67.         processRequest( request, response );
  68.     }
  69.  
  70.     /**
  71.      * Handles the HTTP <code>POST</code> method.
  72.      *
  73.      * @param request  servlet request
  74.      * @param response servlet response
  75.      * @throws ServletException if a servlet-specific error occurs
  76.      * @throws IOException      if an I/O error occurs
  77.      */
  78.     @Override
  79.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  80.             throws ServletException, IOException {
  81.  
  82.         // Get the post input
  83.         this.username = request.getParameter( "emailAddress" );
  84.         this.pword = request.getParameter( "pfield" );
  85.         try {
  86.             this.isValid = validate( this.username, this.pword );
  87.         } catch (Exception e) {
  88.             e.printStackTrace();
  89.         }
  90.         response.setContentType( "text/html;charset=UTF-8" );
  91.         // Set the session variable
  92.         if (isValid) {
  93.             // Create a session object if it is already not  created.
  94.             session = request.getSession( true );
  95.             session.setAttribute( "UMUCUserEmail", username );
  96.             session.setAttribute( "UMUCUserID", user_id );
  97.  
  98.             // Send to the Welcome JSP page              
  99.  
  100.             RequestDispatcher dispatcher = request.getRequestDispatcher( "welcome.jsp" );
  101.             dispatcher.forward( request, response );
  102.  
  103.         } else {
  104.             // Not a valid login
  105.             // refer them back to the Login screen
  106.  
  107.             request.setAttribute( "ErrorMessage", "Invalid Username or Password. Try again or contact Jim." );
  108.             RequestDispatcher dispatcher = request.getRequestDispatcher( "login.jsp" );
  109.             dispatcher.forward( request, response );
  110.         }
  111.     }
  112.  
  113.     /**
  114.      * Returns a short description of the servlet.
  115.      *
  116.      * @return a String containing servlet description
  117.      */
  118.     @Override
  119.     public String getServletInfo() {
  120.         return "Short description";
  121.     }// </editor-fold>
  122.  
  123.     // Method to Authenticate
  124.     public boolean validate(String name, String pass) throws Exception {
  125.         boolean status = false;
  126.         int hitcnt = 0;
  127.  
  128.         TrippleDes td = new TrippleDes();
  129.  
  130.         try {
  131.             ClientDataSource ds = new ClientDataSource();
  132.             ds.setDatabaseName( "SDEV425" );
  133.             ds.setServerName( "localhost" );
  134.             ds.setPortNumber( 1527 );
  135.             ds.setUser( td.decrypt( td.getDbUname() ) );
  136.             ds.setPassword( td.decrypt( td.getDbpname() ) );
  137.             ds.setDataSourceName( "jdbc:derby" );
  138.  
  139.             Connection conn = ds.getConnection();
  140.             Statement statement = null;
  141.             PreparedStatement preparedStatement = null;
  142.             ResultSet resultSet = null;
  143.  
  144.             try {
  145.             String query = "select user_id from sdev_users  where email = ?";
  146.                 preparedStatement = conn.prepareStatement( query );
  147.                 preparedStatement.setString( 1, name );
  148.                resultSet = preparedStatement.executeQuery();
  149.                 while (resultSet.next()) {
  150.                     user_id = resultSet.getInt( 1 );
  151.                 }
  152.                 if (user_id > 0) {
  153.             String query2 = "select user_id from user_info where user_id = " + user_id + "and password = ?";
  154.                     PreparedStatement preparedStatement2 = conn.prepareStatement( query2 );
  155.                     preparedStatement2.setString( 2, pass );
  156.                     ResultSet resultSet1 = preparedStatement2.executeQuery();
  157.  
  158.                     while (resultSet1.next()) {
  159.                         hitcnt++;
  160.                     }
  161.  
  162.                     if (hitcnt > 0) {
  163.                         status = true;
  164.                     }
  165.                 }
  166.  
  167.             } catch (Exception e) {
  168.                 e.printStackTrace();
  169.             }
  170.  
  171.  
  172.  
  173.         } catch (Exception e) {
  174.             e.printStackTrace();
  175.         }
  176.         return status;
  177.     }
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement