com.fenalco.servlets
Class Login

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by com.fenalco.servlets.Login
All Implemented Interfaces:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class Login
extends javax.servlet.http.HttpServlet

Version:
Inicia la sesión validando el rol del usuario y redirecciona a la página adecuada Además, pone en la sesión la información del usuario creando un objeto de tipo user
Author:
Mario Linares Vásquez
See Also:
Serialized Form

Constructor Summary
Login()
           
 
Method Summary
 User authenticateUser(java.lang.String userName, java.lang.String password)
          este método se usa para validar un usuario, con el nombre de usuario crea un objeto de tipo User, una vez construido este objeto, compara la contraseña que se encuentra en el objeto con la que recibe como parámetro y si son iguales retorna el usuario recien construido En caso de que las contraseñas no sean iguales retorna null
 void destroy()
          Método destructor.
protected  void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Handles the HTTP GET method.
protected  void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
 java.lang.String getServletInfo()
          Returns a short description of the servlet.
 void init(javax.servlet.ServletConfig config)
          Inicializa el servlet.
 boolean isActiveCompany(User u)
          Verifica si la empresa a la que está asociado el usuario está activa o no
protected  void processRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Este servlet se encarga de recibir los datos del usuario e intenta iniciar la sesión, para ello se hace lo siguiente: - Se obtiene el nombre de usuario de los parámetros - Se obtiene la contraseña de los parámetros (esta viene encriptada en md5) Los parametros que debe sacar del request son: - login: nomgbre de usuario - passwd: contraseña Se crea un objeto de la clase User llamando al método authenticateUser, una vez se tiene ese objeto, se procede a verificar que la empresa a la que pertenece el usuario esté activa, esto se hace con el método isActiveCompany, si la empresa está activa entonces se sube el objeto usuario a la sesión, se verifica el rol que tiene el usuario y dependiendo de eso, redirecciona de la siguiente forma: - minorista --> /minorista/minorista - proveedor --> /proveedor/proveedor - administrador --> /administrador/administrador - call center --> /callcenter/callcenter antes de redireccionar se mete en la sesión en un atributo llamado user el objeto usuario Si las contraseñas no coinciden o si la empresa no está activa, se redirecciona a /index.jsp enviandole en el request una cadena que indique el error.
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Login

public Login()
Method Detail

init

public void init(javax.servlet.ServletConfig config)
          throws javax.servlet.ServletException
Inicializa el servlet.

Specified by:
init in interface javax.servlet.Servlet
Overrides:
init in class javax.servlet.GenericServlet
Throws:
javax.servlet.ServletException

destroy

public void destroy()
Método destructor.

Specified by:
destroy in interface javax.servlet.Servlet
Overrides:
destroy in class javax.servlet.GenericServlet

processRequest

protected void processRequest(javax.servlet.http.HttpServletRequest request,
                              javax.servlet.http.HttpServletResponse response)
                       throws javax.servlet.ServletException,
                              java.io.IOException
Este servlet se encarga de recibir los datos del usuario e intenta iniciar la sesión, para ello se hace lo siguiente: - Se obtiene el nombre de usuario de los parámetros - Se obtiene la contraseña de los parámetros (esta viene encriptada en md5) Los parametros que debe sacar del request son: - login: nomgbre de usuario - passwd: contraseña Se crea un objeto de la clase User llamando al método authenticateUser, una vez se tiene ese objeto, se procede a verificar que la empresa a la que pertenece el usuario esté activa, esto se hace con el método isActiveCompany, si la empresa está activa entonces se sube el objeto usuario a la sesión, se verifica el rol que tiene el usuario y dependiendo de eso, redirecciona de la siguiente forma: - minorista --> /minorista/minorista - proveedor --> /proveedor/proveedor - administrador --> /administrador/administrador - call center --> /callcenter/callcenter antes de redireccionar se mete en la sesión en un atributo llamado user el objeto usuario Si las contraseñas no coinciden o si la empresa no está activa, se redirecciona a /index.jsp enviandole en el request una cadena que indique el error.

Parameters:
request - servlet request
response - servlet response
Throws:
javax.servlet.ServletException
java.io.IOException

doGet

protected void doGet(javax.servlet.http.HttpServletRequest request,
                     javax.servlet.http.HttpServletResponse response)
              throws javax.servlet.ServletException,
                     java.io.IOException
Handles the HTTP GET method.

Overrides:
doGet in class javax.servlet.http.HttpServlet
Parameters:
request - servlet request
response - servlet response
Throws:
javax.servlet.ServletException
java.io.IOException

doPost

protected void doPost(javax.servlet.http.HttpServletRequest request,
                      javax.servlet.http.HttpServletResponse response)
               throws javax.servlet.ServletException,
                      java.io.IOException
Overrides:
doPost in class javax.servlet.http.HttpServlet
Throws:
javax.servlet.ServletException
java.io.IOException

getServletInfo

public java.lang.String getServletInfo()
Returns a short description of the servlet.

Specified by:
getServletInfo in interface javax.servlet.Servlet
Overrides:
getServletInfo in class javax.servlet.GenericServlet

authenticateUser

public User authenticateUser(java.lang.String userName,
                             java.lang.String password)
este método se usa para validar un usuario, con el nombre de usuario crea un objeto de tipo User, una vez construido este objeto, compara la contraseña que se encuentra en el objeto con la que recibe como parámetro y si son iguales retorna el usuario recien construido En caso de que las contraseñas no sean iguales retorna null

Parameters:
username - Nombre de usuario para construir el objeto User
password - la contraseña que se va a verificar con los datos del usuario
Returns:
Objeto de tipo usuario si la contraseña del usuario coincide con la que se recibio como parámetro. null en caso contrario

isActiveCompany

public boolean isActiveCompany(User u)
Verifica si la empresa a la que está asociado el usuario está activa o no

Parameters:
u - usuario del cual se va a verificar la empresa
Returns:
un booleasno indicando si la empresa está activa o no