![Foto categoria](http://blog.espol.edu.ec/daws/files/2010/03/categoria1-300x220.jpg)
Foto categoria
Esta es la Pagina para realizar un ingreso en el cual podemos apreciar 3 campos principales
Fecha : La cual indica cual será la fecha considerada para el ingreso de dinero para un Empleado en particular.
Empleado: El cual se encuentra representado por un select el cual muestra todas los Usuarios que cumplan con el rol =”Empleado”, al cual se le realizara el Ingreso.
Valor : Es el valor Total asignado en el Ingreso.
Asi quedara la pagina del empleado, en la que ingresara su presupuesto
![image1](http://blog.espol.edu.ec/daws/files/2010/02/image1.jpg)
![image2](http://blog.espol.edu.ec/daws/files/2010/02/image2.jpg)
Este es el codigo pa hacer la consulta de los permisos pa generar el menu dinamico:
public List<Tbpermiso> getAllPermiso(String rol)
{
List<Tbpermiso> permisoList=null;
try
{
session.beginTransaction();
Query q=session.createQuery(«from Tbpermiso WHERE rol= ‘»+rol+»‘ «);
permisoList=(List<Tbpermiso>) q.list();
}
catch(Exception e)
{
e.printStackTrace();
}
return permisoList;
}
Aquí está un poco la estructura q utilizamos en el avance…
![model2architecture](http://blog.espol.edu.ec/daws/files/2010/01/model2architecture.jpg)
Para validar al usuario utilizamos el siguiente codigo:
String usuario,clave,uri;
Tbusuario objusuario;
AgendaHelper helper;
usuario=request.getParameter(«txtusuario»);
clave=request.getParameter(«txtcontrasenia»);
uri=request.getParameter(«uri»);
helper=new AgendaHelper();
objusuario=helper.getUsuariobyAuth(usuario,clave);
if(objusuario==null)
{
response.sendRedirect(request.getContextPath()+»/login.jsp?uri=»+uri);
}
else
{
request.getSession().setAttribute(«usuarioauth», objusuario);
if(objusuario.getRol().compareTo(«Administrador»)==0)
response.sendRedirect(request.getContextPath() + «/Administrador/principalAdmin.jsp»);
else
response.sendRedirect(request.getContextPath() + «/Empleado/principalEmpleado.jsp»);
El grupo Implemento el Metodo doFilter, el cual se encarga totalmente de los accesos y la autenticacion,
y una serie de validaciones, asi como nuevamente trabajar con el Cookie creado en la 1era Pagina del Login.jsp.
El codigo se muestra a continuacion
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
Cookie coo[] ;
String us=»»;
if (debug) log(«miFiltro:doFilter()»);
try{
opcion = ((HttpServletRequest)request).getParameter(«option1»);
coo= ((HttpServletRequest)request).getCookies();
for(int i=0;i<coo.length;i++){
if(coo[i].getName().equals(«user»)){
us = coo[i].getValue();
}
}
}catch(Exception e){}
int flag =0;
leerArchivo( request);
String[] t = new String[2];
t[0]=»nada»;
t[1]=»nada»;
String userL,rolT;
String rol,opc;
for(int i=0;i<listaRolT.size();i++){
t=(String[])((listaRolT.get(i)));
userL = t[0] ;
if(userL.compareTo(us)==0){
rol= t[1];
System.out.println(«Este es el Rol del Archivo»+rol);
for(int j=0;j<listaPermisoT.size();j++){
t=(String [])listaPermisoT.get(j);
rolT = t[1];
opc = t[0];
if(rolT.compareTo(rol)==0&& opcion.compareTo(opc)==0){
System.out.println(«Este es el ROL del User»+rol);
flag=1;
filterConfig.getServletContext().getRequestDispatcher(«/»+opcion+».jsp»).forward(request, response);
}
}
}
}
if(flag==0)
filterConfig.getServletContext().getRequestDispatcher(«/forbidden.html»).forward(request, response);
}
El Grupo Implemento el Metodo Leer Archivo, el cual leera el archivo dado como parametro de Inicio,
y almacenara deicha informacion en ArrayList con Datos Reales y Totales.
El codigo se muestra a continuacion.
public void leerArchivo(ServletRequest request){
int flagPermiso=0;
int flagRol=0;
String linea;
listaPermiso = new ArrayList();
listaRol = new ArrayList();
listaPermisoT = new ArrayList();
listaRolT = new ArrayList();
String directorio=»»;
try {
directorio = filterConfig.getInitParameter(«archivo»);
} catch (Exception exc) {
filterConfig.getServletContext().log(«Problemas consiguiendo ruta de directorio», exc);
}
try{
File f = new File(directorio);
BufferedReader sarchivo = new BufferedReader(new FileReader(f));
linea = ( sarchivo.readLine());
while ( linea != null){
if(linea.compareTo(«ROLES»)==0){
flagRol=1;
flagPermiso=0;
l inea = ( sarchivo.readLine());
}
else if (flagRol==1 && linea.compareTo(«PERMISOS»)!=0){
listaRol.add(linea);
linea = ( sarchivo.readLine());
}
else if(linea.compareTo(«PERMISOS»)==0){
flagRol=0;
flagPermiso=1;
linea = ( sarchivo.readLine());
}
else if(flagPermiso==1){
listaPermiso.add(linea);
linea = ( sarchivo.readLine());
}
}
String temp[];
for(int i=0;i<listaRol.size();i++){
String line = (String)listaRol.get(i);
StringTokenizer token = new StringTokenizer (line,»,»);
temp=new String[2];
temp[0]=token.nextToken();
temp[1]=token.nextToken();
listaRolT.add(temp);
}
for(int i=0;i<listaPermiso.size();i++){
String line = (String)listaPermiso.get(i);
StringTokenizer token = new StringTokenizer (line,»,»);
temp=new String[2];
temp[0]=token.nextToken();
temp[1]=token.nextToken();
listaPermisoT.add(temp);
}
}catch(Exception e){
e.printStackTrace();
}
}
Se implementó por parte del Grupo GX el Servlet myServlet el cual tiene como Método processRequest, el siguiente trozo de Código.
El cual almacena informacion del Usuario en un Cookie y la agrega a response.
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
String user = request.getParameter(«user»);
Cookie c = new Cookie(«user», user);
response.addCookie(c);
getServletContext().getRequestDispatcher(«/opcion.jsp»).forward(request, response);
} finally {
}
}