Package cpe.hapa.authentication

Source Code of cpe.hapa.authentication.Authenticate

package cpe.hapa.authentication;

import java.text.ParseException;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import com.google.appengine.api.datastore.EntityNotFoundException;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;
import com.google.appengine.api.datastore.PreparedQuery.TooManyResultsException;

import cpe.hapa.dao.UserDAO;
import cpe.hapa.model.User;

public class Authenticate {
  public static String AuthenticationKey = "userKeyString";
 
  public static Boolean authenticate(HttpServletRequest request, String login, String password) throws NumberFormatException, TooManyResultsException, ParseException, EntityNotFoundException {
    User user = UserDAO.getByLoginOrEmail(login);
    if (user==null) {
      return false;
    }
   
    if(user.getPassword().equals(password)) {
      HttpSession session = request.getSession(true);
      session.setAttribute(AuthenticationKey, KeyFactory.keyToString(user.getKey()));
      SessionHandler.addSession(user.getKey());
      return true;
    }
   
    return false;
  }
 
  public static User getConnectedUser(HttpServletRequest request) throws NumberFormatException, ParseException {
    HttpSession session = request.getSession(true);
   
    String userKeyString = (String) session.getAttribute(AuthenticationKey);
    if(userKeyString == null) {
      return null;
    }
   
    Key userKey = KeyFactory.stringToKey(userKeyString);
    if(!SessionHandler.Contains(userKey)) {
      return null;
    }
   
    return UserDAO.getByKey(userKey);
  }
 
  public static void disconnect(HttpServletRequest request) throws NumberFormatException, ParseException, EntityNotFoundException {
    HttpSession session = request.getSession(true);
   
    String userKeyString = (String) session.getAttribute(AuthenticationKey);
    if(userKeyString == null) {
      return;
    }
   
    Key userKey = KeyFactory.stringToKey(userKeyString);
    SessionHandler.deleteSession(userKey);
    session.invalidate();
  }
}
TOP

Related Classes of cpe.hapa.authentication.Authenticate

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.