Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package th.in.oneauth.servlet;
- import java.io.IOException;
- import java.util.Arrays;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.TimeZone;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.commons.lang3.StringUtils;
- import org.bouncycastle.util.encoders.Base64;
- import com.google.gson.JsonDeserializer;
- import com.google.gson.JsonObject;
- import com.google.gson.JsonParser;
- import th.in.oneauthen.object.DocumentDB;
- import th.in.oneauthen.object.SignatureProfileDB;
- import th.in.oneauthen.object.UserUidDB;
- import th.in.oneauthen.object.DAO.DocumentDAO;
- import th.in.oneauthen.object.DAO.SignatureProfileDAO;
- import th.in.oneauthen.object.DAO.UserUidDAO;
- import th.in.oneauthen.util.CryptoUtil;
- /**
- * Servlet implementation class LoginServlet
- */
- @WebServlet("/login")
- public class LoginServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- public static final String SESSION_PARAM_USER = "userSession";
- public static final String SESSION_PARAM_ONEID_AUTH = "authToken";
- public static final String REQUEST_PARAM_USERNAME = "username";
- // public static final String REQUEST_PARAM_PASSWORD = "password";
- public static final String DASHBOARD_URL = "dashboard.jsp";
- public static final String DASHBOARD_SINGING = "dashboard.jsp?reqp=signing";
- /**
- * @see HttpServlet#HttpServlet()
- */
- public LoginServlet() {
- super();
- // TODO Auto-generated constructor stub
- }
- /**
- * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
- * response)
- */
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- // TODO Auto-generated method stub
- doPost(request, response);
- }
- /**
- * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
- * response)
- */
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- // TODO Auto-generated method stub
- String username = request.getParameter(REQUEST_PARAM_USERNAME);
- // String password = request.getParameter(REQUEST_PARAM_PASSWORD);
- String oneIdAuthToken = request.getParameter("authToken");
- System.out.println(oneIdAuthToken == null ? "" : oneIdAuthToken);
- JsonObject jsonObject = new JsonParser().parse(oneIdAuthToken).getAsJsonObject();
- String id_card_num = jsonObject.get("hash_id_card_num").getAsString();
- System.out.println(id_card_num);
- String id = jsonObject.get("id").getAsString();
- String email = jsonObject.get("thai_email").getAsString();
- System.out.println(id);
- System.out.println(email);
- JsonObject oneBoxParam = new JsonObject();
- oneBoxParam.addProperty("ACTION", "OneBoxUpload");
- oneBoxParam.addProperty("ID", id);
- JsonObject subObject = new JsonObject();
- subObject.addProperty("EMail", email);
- oneBoxParam.add("SubElement", subObject);
- System.out.println(oneBoxParam.toString());
- SignatureProfileDAO a = new SignatureProfileDAO();
- try {
- a.remove(77);
- } catch (Exception e1) {
- System.out.println("kuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy");
- e1.printStackTrace();
- }
- UserUidDAO userDao = new UserUidDAO();
- UserUidDB user = null;
- if( userDao.findUsername(username) != null) {
- user = userDao.findUsername(username);
- }
- System.out.println("DAO: " + user);
- System.out.println("oneIdAuth: " + !(StringUtils.isEmpty(oneIdAuthToken)));
- if (StringUtils.isEmpty(oneIdAuthToken) && user == null) {
- LogoutServlet.doLogout(request, response, "Login Failed!!");
- } else if (!StringUtils.isEmpty(oneIdAuthToken) && user == null) {
- // oneIdAuthToken != null && user == null
- UserUidDB newUser = new UserUidDB();
- newUser.setUserName(username);
- newUser.setLastLogin(new Date());
- newUser.setSamlTokenUid(oneIdAuthToken);
- newUser.setIdCardUid(id_card_num);
- newUser.setType("personal");
- try {
- userDao.save(newUser);
- System.out.println("Login success!!");
- request.getSession().setAttribute(SESSION_PARAM_USER, newUser);
- request.getSession().setAttribute(SESSION_PARAM_ONEID_AUTH, email);
- request.getRequestDispatcher(DASHBOARD_SINGING).forward(request, response);
- } catch (Exception e) {
- e.printStackTrace();
- LogoutServlet.doLogout(request, response, "System error !! Please contact system administrator!");
- }
- //
- } else if (!StringUtils.isEmpty(oneIdAuthToken) && userDao.findUsername(username) != null) {
- System.out.println("Login success!!");
- //int A= user.getUserId();
- request.getSession().setAttribute(SESSION_PARAM_USER, user);
- request.getSession().setAttribute(SESSION_PARAM_ONEID_AUTH, email);
- request.getRequestDispatcher(DASHBOARD_SINGING).forward(request, response);
- System.out.println("DAO: " + user.getUserId());
- System.out.println("Token =" + generateUserAccessToken (user.getUserId()));
- //LoginCompanyServlet.doPost(request, response, "System error !! Please contact system administrator!");
- // example qury
- DocumentDAO hisDao = new DocumentDAO();
- // if( hisDao.findByUserUID(user) != null) {
- // for ( DocumentDB his : hisDao.findByUserUID(user)) {
- // System.out.println("DAO:USER = " + his.getCreator().getUserName().toString());
- // System.out.println("DAO:USER = " + generateUserAccessToken (8));
- //
- // }
- //
- // }
- Calendar startDate = Calendar.getInstance(TimeZone.getTimeZone("UTC+7"));
- int month = startDate.get( Calendar.MONTH);
- month +=1;
- int year = startDate.get( Calendar.YEAR);
- int day = startDate.get( Calendar.DATE);
- if( !hisDao.findByMonthAndYear2(month, year, user).isEmpty()) {
- Object [] A = hisDao.findByMonthAndYear2(month, year, user).toArray();
- for(int i=0;i< A.length;i++ ) {
- System.out.println(Arrays.deepToString((Object[]) A[i]));
- // Object [] B = ((Object[]) A[i]);
- // for(int j=0 ;j<B.length;j++) {
- // System.out.println(B[j].toString());
- }
- }
- if( !hisDao.findCountTotalByMonth(month, year, user).isEmpty()) {
- Object [] A = hisDao.findCountTotalByMonth(month, year, user).toArray();
- for(int i=0;i< A.length;i++ ) {
- System.out.println(Arrays.deepToString((Object[]) A[i]));
- // Object [] B = ((Object[]) A[i]);
- // for(int j=0 ;j<B.length;j++) {
- // System.out.println(B[j].toString());
- //
- // }
- }
- //System.out.println(Arrays.deepToString((Object[]) A[0]));
- // Object [] B = ((Object[]) A[0]);
- // System.out.println(B[0].toString());
- // for ( DocumentDB his : hisDao.findByDateAndYearAndStatus2(9, 2561, user, "success")) {
- // System.out.println(his.getTimeSign().toString());
- //// System.out.println("DAO:USER = " + generateUserAccessToken (8));
- //
- // }
- }
- if( !hisDao.findMinDate(user).isEmpty()) {
- for(DocumentDB min : hisDao.findMinDate(user)) {
- System.out.println(min.getTimeSign());
- Date fristDate = min.getTimeSign();
- }
- }
- }
- else
- LogoutServlet.doLogout(request, response, "Login Failed!!");
- }
- public static String generateUserAccessToken ( int userId ) {
- String SALT = "AccTkn-";
- try {
- String accessToken = Base64.toBase64String(CryptoUtil.encryptData((SALT+userId).getBytes()));
- return accessToken;
- }catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement