Advertisement
DKKs

LoginServlet.java DONK

Aug 27th, 2018
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.90 KB | None | 0 0
  1. package th.in.oneauth.servlet;
  2.  
  3. import java.io.IOException;
  4. import java.util.Date;
  5.  
  6. import javax.servlet.ServletException;
  7. import javax.servlet.annotation.WebServlet;
  8. import javax.servlet.http.HttpServlet;
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.servlet.http.HttpServletResponse;
  11.  
  12. import org.apache.commons.lang3.StringUtils;
  13.  
  14. import com.google.gson.JsonDeserializer;
  15. import com.google.gson.JsonObject;
  16. import com.google.gson.JsonParser;
  17.  
  18. import th.in.oneauthen.object.UserUidDB;
  19. import th.in.oneauthen.object.DAO.UserUidDAO;
  20.  
  21. /**
  22.  * Servlet implementation class LoginServlet
  23.  */
  24. @WebServlet("/login")
  25. public class LoginServlet extends HttpServlet {
  26.     private static final long serialVersionUID = 1L;
  27.  
  28.     public static final String SESSION_PARAM_USER = "userSession";
  29.     public static final String SESSION_PARAM_ONEID_AUTH = "authToken";
  30.     public static final String REQUEST_PARAM_USERNAME = "username";
  31.     // public static final String REQUEST_PARAM_PASSWORD = "password";
  32.  
  33.     public static final String DASHBOARD_URL = "dashboard.jsp";
  34.     public static final String DASHBOARD_SINGING = "dashboard.jsp?reqp=sigprofile";
  35.  
  36.     /**
  37.      * @see HttpServlet#HttpServlet()
  38.      */
  39.     public LoginServlet() {
  40.         super();
  41.         // TODO Auto-generated constructor stub
  42.     }
  43.  
  44.     /**
  45.      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
  46.      *      response)
  47.      */
  48.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  49.             throws ServletException, IOException {
  50.         // TODO Auto-generated method stub
  51.         doPost(request, response);
  52.     }
  53.  
  54.     /**
  55.      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
  56.      *      response)
  57.      */
  58.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  59.             throws ServletException, IOException {
  60.         // TODO Auto-generated method stub
  61.  
  62.         String username = request.getParameter(REQUEST_PARAM_USERNAME);
  63.         // String password = request.getParameter(REQUEST_PARAM_PASSWORD);
  64.  
  65.         String oneIdAuthToken = request.getParameter("authToken");
  66.  
  67.         System.out.println(oneIdAuthToken == null ? "" : oneIdAuthToken);
  68.  
  69.         JsonObject jsonObject = new JsonParser().parse(oneIdAuthToken).getAsJsonObject();
  70.  
  71.         String id = jsonObject.get("id").getAsString();
  72.         String email = jsonObject.get("thai_email").getAsString();
  73.         System.out.println(id);
  74.         System.out.println(email);
  75.  
  76.         JsonObject oneBoxParam = new JsonObject();
  77.         oneBoxParam.addProperty("ACTION", "OneBoxUpload");
  78.         oneBoxParam.addProperty("ID", id);
  79.  
  80.         JsonObject subObject = new JsonObject();
  81.         subObject.addProperty("EMail", email);
  82.         oneBoxParam.add("SubElement", subObject);
  83.  
  84.         System.out.println(oneBoxParam.toString());
  85.  
  86.         UserUidDAO userDao = new UserUidDAO();
  87.         UserUidDB user = null;
  88.  
  89.         if( userDao.findUsername(username) != null) {
  90.             user = userDao.findUsername(username);
  91.         }
  92.        
  93.         System.out.println("DAO: " + user);
  94.         System.out.println("oneIdAuth: " + !(StringUtils.isEmpty(oneIdAuthToken)));
  95.  
  96.         if (StringUtils.isEmpty(oneIdAuthToken) && user == null) {
  97.             LogoutServlet.doLogout(request, response, "Login Failed!!");
  98.         } else if (!StringUtils.isEmpty(oneIdAuthToken) && user == null) {
  99.             // oneIdAuthToken != null && user == null
  100.             UserUidDB newUser = new UserUidDB();
  101.             newUser.setUserName(username);
  102.             newUser.setLastLogin(new Date());
  103.             newUser.setSamlTokenUid(oneIdAuthToken);
  104.             // newUser.setUserPwd(password);
  105.             try {
  106.                 userDao.save(newUser);
  107.                 System.out.println("Login success!! NewUser");
  108.                 request.getSession().setAttribute(SESSION_PARAM_USER, newUser);
  109.                 request.getSession().setAttribute(SESSION_PARAM_ONEID_AUTH, email);
  110.                 request.getRequestDispatcher(DASHBOARD_SINGING).forward(request, response);
  111.             } catch (Exception e) {
  112.                 e.printStackTrace();
  113.                 LogoutServlet.doLogout(request, response, "System error !! Please contact system administrator!");
  114.             }
  115.  
  116.             //
  117.         } else if (!StringUtils.isEmpty(oneIdAuthToken) && userDao.findUsername(username) != null) {
  118.             System.out.println("Login success!!");
  119.             request.getSession().setAttribute(SESSION_PARAM_USER, user);
  120.             request.getSession().setAttribute(SESSION_PARAM_ONEID_AUTH, email);
  121.             request.getRequestDispatcher(DASHBOARD_SINGING).forward(request, response);
  122.         }
  123.  
  124.         else
  125.             LogoutServlet.doLogout(request, response, "Login Failed!!");
  126.  
  127.         // UserUidDAO userDao = new UserUidDAO();
  128.         //
  129.         // UserUidDB user = userDao.findUsername(username);
  130.         // if (user != null) {
  131.         // System.out.println(user.getUserName());
  132.         // if (user.getUserPwd().equals(password)) {
  133.         // System.out.println("Login success!!");
  134.         // request.getSession().setAttribute(SESSION_PARAM_USER, user);
  135.         // request.getRequestDispatcher(DASHBOARD_URL).forward(request, response);
  136.         // }else LogoutServlet.doLogout(request, response, "Invalid username or
  137.         // password!!!");
  138.         // }else {LogoutServlet.doLogout(request, response, "Invalid username or
  139.         // password!!!");
  140.         // }
  141.  
  142.     }
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement