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
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…
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 {
}
}