Commit 5cbccaba by Percy Quispe

Correcion del web filter

parent f00ef75e
File added
......@@ -35,7 +35,7 @@ public class RequestFilter implements Filter, ServletContextListener {
* login = a la pantalla de inicio del sistema en este caso el login.
* js = a la ruta /nombre_de_proyecto/js esto sirve para darle acceso a todos los archivos que se encuentren en la carpeta js sin necesidad de validar el token
* css = a la ruta /nombre_de_proyecto/css esto sirve para darle acceso a todos los archivos que se encuentren en la carpeta css sin necesidad de validar el token
* postRequest = new PostRequest(urlRequested); urlRequested es la ruta que se va enviar para poder enviar una peticion post al servidor
* postRequest = new PostRequest(urlRequested); urlRequested es la ruta que se va enviar para poder enviar una peticion post al servidor para validar el TOKEN
* JSONObject valid = va capturar la respuesta de la petición post al servidor una respuesta importante es su status=true: su token fue verificado correctamente, status=false: su token fue rechazado y se le enviar una excepción UNAUTHORIZED
* </p>
* @param req recibe el parametro para poder asignar su valor a HttpServletResponse response para obtener los métodos básicos de un servlet
......@@ -67,13 +67,27 @@ public class RequestFilter implements Filter, ServletContextListener {
JSONObject valid = null;
String auth = "";
if(url.contains(".jsp")){/*Valida la redirección entre páginas obteniendo los cookies y capturando el token */
auth = request.getHeader("Cookie");
if(auth.contains("Bearer")){
String[] parts = auth.split(";");
String authorization = parts[0];
parts = authorization.split("%20");
auth = "Bearer "+parts[1];
System.out.println(auth);
auth = request.getHeader("Cookie");
if(auth!=null){
if(auth.contains("Bearer")){
int indiceBearer = 0;
String[] parts = auth.split(";");
for (int i = 0; i < parts.length-1; i++) {
if(parts[i].contains("Bearer")){
indiceBearer = i;
break;
}
}
String authorization = parts[indiceBearer];
parts = authorization.split("%20");
auth = "Bearer "+parts[1];
System.out.println(auth);
}else{
setError(response);
}
}else{
setError(response);
}
}else{
auth = request.getHeader("Authorization");
......@@ -81,10 +95,7 @@ public class RequestFilter implements Filter, ServletContextListener {
try{
respuesta = postRequest.getRespueta(auth);
}catch(Exception ex){
Response.ResponseBuilder builder = null;
sendError(response);
builder = Response.status(Response.Status.UNAUTHORIZED).entity(response);
throw new WebApplicationException(builder.build());
setError(response);
}
valid = new JSONObject(respuesta);
if (valid.getBoolean("status")) {
......@@ -103,6 +114,7 @@ public class RequestFilter implements Filter, ServletContextListener {
switch(vista.toString()){//Agrega las vistas detalle
case VistasExtras.MANTENIMIENTO_PERSONA:VistasExtras.getVistasExtrasMantenimientoPersona(vistas); break;
case VistasExtras.OTROS:VistasExtras.getVistasExtrasMantenimientoOtros(vistas);break;//Ejemplo
case VistasExtras.REPORTE_PERSONA:VistasExtras.getVistasExtrasMantenimientoOtros(vistas);break;
}
System.out.println("Vista : "+vista +" rutaJSP : "+rutaJsp);
if(vista.toString().equalsIgnoreCase(rutaJsp)){
......@@ -112,10 +124,7 @@ public class RequestFilter implements Filter, ServletContextListener {
}
if(!acceso){
Response.ResponseBuilder builder = null;
sendError(response);
builder = Response.status(Response.Status.UNAUTHORIZED).entity(response);
throw new WebApplicationException(builder.build());
setError(response);
}
}
// List<String> views = (List<String>) ;
......@@ -133,6 +142,12 @@ public class RequestFilter implements Filter, ServletContextListener {
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
response.sendError(401);
}
public void setError(HttpServletResponse response) throws IOException{
Response.ResponseBuilder builder = null;
sendError(response);
builder = Response.status(Response.Status.UNAUTHORIZED).entity(response);
throw new WebApplicationException(builder.build());
}
@Override
public void destroy() {
......
......@@ -20,6 +20,10 @@ public final class VistasExtras {
// Otros
public static final String OTROS = "example.jsp";//Ejemplo
private static final String DETALLE_OTROS = "detalleOtros.jsp";//Ejemplo
public static final String REPORTE_PERSONA = "reportePersona.jsp";
private static final String DETALLE_REPORTE_PERSONA ="detalleReportePersona.jsp";
private static final String DETALLE_REPORTE_PERSONA2 ="detalleReportePersona2.jsp";
// End otros
/**
* <p>
......@@ -39,6 +43,8 @@ public final class VistasExtras {
}
public static List<Object> getVistasExtrasMantenimientoOtros(List<Object> vistas){
vistas.add(DETALLE_OTROS);
vistas.add(DETALLE_REPORTE_PERSONA);
vistas.add(DETALLE_REPORTE_PERSONA2);
return vistas;
}
}
......@@ -80,7 +80,7 @@ let logOut = () =>{
* vista va = vista a donde va con .jsp
* */
function setActive(vistaViene,vistaVa){
Cookies.set("active",vistaViene, {expiry : 100});
Cookies.set("lActive",vistaViene, {expiry : 100});
window.location.href=vistaVa;
}
logOut();
......
/*Obtiene el cookie y asigna una clase*/
let getActive = () =>{
let active = Cookies.get('active');
let active = Cookies.get('lActive');
$("#"+active).parent('li').addClass('active');
}
getActive();
......
let getActive = () =>{
let active = Cookies.get('active');
let active = Cookies.get('lActive');
console.log(active);
$("#"+active).parent('li').addClass('active');
}
......
let getActive = () =>{
let active = Cookies.get('lActive');
console.log(active);
$("#"+active).parent('li').addClass('active');
}
getActive();
\ No newline at end of file
......@@ -74,7 +74,6 @@
<script type="text/javascript" src="../plantilla/assets/js/pages/form_bootstrap_select.js"></script>
<!--js-->
<script src="../js/general.js" type="text/javascript"></script>
<script src="../js/pages/consultaUbigeo.js" type="text/javascript"></script>
<script src="../js/pages/sidebar.js" type="text/javascript"></script>
</body>
......
......@@ -46,7 +46,6 @@
<!--mi js-->
<script src="../js/lib/validate_inputs.js" type="text/javascript"></script>
<script src="../js/general.js" type="text/javascript"></script>
<!--mi js-->
<script src="../js/pages/sidebar.js" type="text/javascript"></script>
......
......@@ -13,7 +13,7 @@
<body>
<%@include file="templates/header-body.jsp" %>
<h1>Detalle Reporte</h1>
<button id="" onclick="setActive('reportePersona','detalleReportePersona2.jsp')" type="button" class="btn btn-primary"><i class="icon-search4 position-left"></i> Ir a Detalle</button>
<%@include file="templates/footer-body.jsp" %>
......@@ -47,7 +47,6 @@
<!--mi js-->
<script src="../js/lib/validate_inputs.js" type="text/javascript"></script>
<script src="../js/general.js" type="text/javascript"></script>
<script src="../js/pages/sidebar.js" type="text/javascript"></script>
<!--mi js-->
<script src="../js/pages/detalleReportePersona.js" type="text/javascript"></script>
......
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
<%@include file="templates/header.jsp" %>
<!--template-core-->
<!--css-->
<!--css-->
</head>
<body>
<%@include file="templates/header-body.jsp" %>
<h1>Detalle Reporte</h1>
<%@include file="templates/footer-body.jsp" %>
<!--js plantilla-->
<!--jQueryValidator-->
<script type="text/javascript" src="../plantilla/assets/js/plugins/forms/validation/validate.min.js"></script>
<!--jQueryValidator-->
<!--form-->
<script type="text/javascript" src="../plantilla/assets/js/plugins/forms/inputs/touchspin.min.js"></script>
<script type="text/javascript" src="../plantilla/assets/js/pages/form_input_groups.js"></script>
<!--form-->
<!--modal-->
<script type="text/javascript" src="../plantilla/assets/js/pages/components_modals.js"></script>
<!--modal-->
<!--sweetalerts-->
<script type="text/javascript" src="../plantilla/assets/js/plugins/notifications/bootbox.min.js"></script>
<script type="text/javascript" src="../plantilla/assets/js/plugins/notifications/sweet_alert.min.js"></script>
<!--sweetalerts-->
<!--datatable-->
<script type="text/javascript" src="../plantilla/assets/js/plugins/tables/datatables/datatables.min.js"></script>
<script type="text/javascript" src="../plantilla/assets/js/plugins/forms/selects/select2.min.js"></script>
<!--datatable-->
<!--js plantilla-->
<!--mi js-->
<script src="../js/lib/validate_inputs.js" type="text/javascript"></script>
<script src="../js/pages/sidebar.js" type="text/javascript"></script>
<!--mi js-->
<script src="../js/pages/detalleReportePersona.js" type="text/javascript"></script>
</body>
</html>
......@@ -32,8 +32,6 @@
<script type="text/javascript" src="../plantilla/assets/js/pages/form_bootstrap_select.js"></script>
<!--js-->
<script src="../js/general.js" type="text/javascript"></script>
<script src="../js/pages/sidebar.js" type="text/javascript"></script>
</body>
</html>
......@@ -264,7 +264,6 @@
<!--mi js-->
<script src="../js/lib/validate_inputs.js" type="text/javascript"></script>
<script src="../js/general.js" type="text/javascript"></script>
<script src="../js/pages/mantenimientoPersona.js" type="text/javascript"></script>
<!--mi js-->
<script src="../js/pages/sidebar.js" type="text/javascript"></script>
......
......@@ -105,7 +105,6 @@
<!--mi js-->
<script src="../js/lib/validate_inputs.js" type="text/javascript"></script>
<script src="../js/general.js" type="text/javascript"></script>
<script src="../js/pages/sidebar.js" type="text/javascript"></script>
<!--mi js-->
......
......@@ -27,4 +27,6 @@
<script type="text/javascript" src="../plantilla/assets/js/plugins/forms/selects/bootstrap_multiselect.js"></script>
<script type="text/javascript" src="../plantilla/assets/js/core/app.js"></script>
<!-- /core JS files -->
\ No newline at end of file
<!-- /core JS files -->
<!-- /Generales -->
<script src="../js/general.js" type="text/javascript"></script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment