Manuales de TuGa                                                                                                                      Página Principal

 

Manual de Desarrollo

En caso que se requiera funcionalidades de las cuales TuGa carece o se requiere ejecutar funciones o métodos contenidos en objetos diferentes a los de TuGa, es necesario hacer el desarrollo de estas aplicaciones en Java pero igualmente hay que integrarlos a TuGa con el fin de mantener consistencia con los permisos otorgados a los usuarios para ejecutar acciones.

Esta integración puede hacerse de varias formas:

1.       Creando librerías por aparte (archivos JAR) e incluyéndolas en la carpeta /Tuga/WEB-INF/lib. El problema de esta forma es que seguramente se necesite modificar el archivo web.xml de TuGa para especificar las nuevas clases que van a operar y este archivo puede ser reemplazado al hacer alguna actualización del aplicativo, con lo cual podrían dejar de funcionar las clases agregadas.

 

2.       Creado archivos JSP y en ellos programar todos los procedimientos que se deseen ejecutar. Normalmente los archivos JSP se utilizan como una capa de presentación y los procedimientos se programan en servlets, pero al seguir este esquema tradicional tendríamos el mismo problema discutido en el punto 1; Por ello, si se van a utilizar JSP se deben poner todos los procedimientos a ejecutar, similar a la programación por PHP.

 

Lo primero que se debe hacer es importar las siguientes librerías:

 

<%@page import="formatoPagina.*"%>

<%@page import="GenReport.*"%>

 

Si se desea validar los permisos de ingreso al JSP, utilice las siguientes líneas:

 

 autenticacion val = new autenticacion();

 if (!val.validaPermisos(request)) {

     val.forwardError(request,response);

     return;

 }

 

Para que esto funcione, el JSP debe estar incluido en el menú de TuGa y por medio de él definir los permisos de ingreso. Si no desea que esta opción aparezca en el menú de los usuarios, incluya el JSP dentro de una opción del menú (ejemplo, una carpeta), concédale permisos de ingreso al JSP pero no los ponga en su opción padre (ejemplo, la carpeta).

 

Para obtener el usuario que está ingresando al JSP utilice las siguientes líneas (queda almacenado en la variable usuario):

 

autenticacion val = new autenticacion();

String usuario = val.obtieneLogin(request);

 

Para obtener los roles del usuario que está ingresando al JSP utilice las siguientes líneas (el rol es una cadena de todos los roles del usuario separada por comas, ej: 'Administrador', 'Rol1', 'Rol2'):

 

autenticacion val = new autenticacion();

String usuario = val.obtieneRol(request);

 

3.       Creando una aplicación web diferente a TuGa. Para este caso creamos otra aplicación en otro contexto, no tendríamos acceso a las librerías de TuGa ni a sus métodos, pero por medio de cookies podemos tener acceso a el usuario logueado, sus roles, el nombre de la persona y otras variables. Para ello se debe incluir dentro de la aplicación la librería JDBC de PostgreSQL 8.1 e importarla en la clase de la cual se desea obtener las variables de TuGa :

import org.postgresql.util.Base64;

Luego defina los siguientes métodos:

    public static String decode(String sb){

        return new String(Base64.decode(sb));

    }

 

    public static String getCookieValue(HttpServletRequest request, String name) {

        boolean found = false;

        String result = null;

        Cookie[] cookies = request.getCookies();

        if (cookies != null) {

            int i = 0;

            while (!found && i < cookies.length) {

                if (cookies[i].getName().equals(name)) {

                    found = true;

                    result = cookies[i].getValue();

                }

                i++;

            }

        }

        if(result != null){

            return decode(result);

        }

        return result;

    }

Para obtener el usuario, utilice la siguiente instrucción:

 

String valorcookie = getCookieValue(request, "login");

 

Para obtener los roles del usuario:

 

String valorcookie = getCookieValue(request, "rol");

 

Para obtener el nombre de la persona dueña del usuario:

 

String valorcookie = getCookieValue(request, "nombrePersona");

 

Para obtener la dirección IP desde la cual se está conectando el usuario:

 

String valorcookie = getCookieValue(request, "ip");