Project

General

Profile

1
package edu.ucsb.nceas.metacat.harvesterClient;
2

    
3
import java.io.PrintWriter;
4
import javax.servlet.ServletConfig;
5
import javax.servlet.ServletContext;
6
import javax.servlet.ServletException;
7
import javax.servlet.ServletInputStream;
8
import javax.servlet.http.HttpServlet;
9
import javax.servlet.http.HttpServletRequest;
10
import javax.servlet.http.HttpServletResponse;
11
import javax.servlet.http.HttpSession;
12
import javax.servlet.http.HttpUtils;
13
import javax.servlet.ServletOutputStream;
14
import edu.ucsb.nceas.metacat.AuthSession;
15

    
16
/**
17
 *  LoginServlet implements a Harvester servlet to login to Metacat
18
 */
19
public class LoginServlet extends HttpServlet {
20

    
21
  public void destroy() {
22
    // Close all connections
23
    System.out.println("Destroying LoginServlet");
24
  }
25

    
26
  /**
27
   *  Handle "GET" method requests from HTTP clients
28
   *
29
   *  @param  request   The request
30
   *  @param  response  The response
31
   *  @throws ServletException, java.io.IOException
32
   */
33
  public void doGet(HttpServletRequest request, HttpServletResponse response)
34
          throws ServletException, java.io.IOException {
35
    // Process the data and send back the response
36
    handleGetOrPost(request, response);
37
  }
38

    
39
  /**
40
   *  Handle "POST" method requests from HTTP clients
41
   *
42
   *  @param  request   The request
43
   *  @param  response  The response
44
   *  @throws ServletException, java.io.IOException
45
   */
46
  public void doPost(HttpServletRequest request, HttpServletResponse response)
47
          throws ServletException, java.io.IOException {
48
    // Process the data and send back the response
49
    handleGetOrPost(request, response);
50
  }
51

    
52
  /**
53
   *  Handle "GET" or "POST" method requests from HTTP clients
54
   *
55
   *  @param  request   The request
56
   *  @param  response  The response
57
   *  @throws ServletException, java.io.IOException
58
   */
59
  private void handleGetOrPost(HttpServletRequest request,
60
                               HttpServletResponse response)
61
          throws ServletException, java.io.IOException {
62
    AuthSession authSession = null;
63
    HttpSession httpSession;
64
    boolean isValid;
65
    PrintWriter out = response.getWriter();
66
    String passwd = request.getParameter("passwd");
67
    String user = request.getParameter("user");
68

    
69
    response.setContentType("text/plain");
70

    
71
    try {
72
      authSession = new AuthSession();
73
    } 
74
    catch (Exception e) {
75
      out.println("Error creating AuthSession: " + e.getMessage());
76
      return;
77
    }
78

    
79
    isValid = authSession.authenticate(request, user, passwd);
80
    
81
    if (isValid) {
82
      System.out.println(authSession.getMessage());
83
      httpSession = request.getSession(true);
84
      httpSession.putValue("Musername", user);
85
      httpSession.putValue("Mpassword", passwd);
86
      response.sendRedirect("../style/skins/dev/harvesterUpload.html");
87
    }
88
    else {
89
      out.println("Error authenticating Metacat login: " + 
90
                  authSession.getMessage());
91
    }
92
  }
93
}
(8-8/9)