Commit 5cbccaba by Percy Quispe

Correcion del web filter

parent f00ef75e
File added
...@@ -35,7 +35,7 @@ public class RequestFilter implements Filter, ServletContextListener { ...@@ -35,7 +35,7 @@ public class RequestFilter implements Filter, ServletContextListener {
* login = a la pantalla de inicio del sistema en este caso el login. * 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 * 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 * 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 * 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> * </p>
* @param req recibe el parametro para poder asignar su valor a HttpServletResponse response para obtener los métodos básicos de un servlet * @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 { ...@@ -67,13 +67,27 @@ public class RequestFilter implements Filter, ServletContextListener {
JSONObject valid = null; JSONObject valid = null;
String auth = ""; String auth = "";
if(url.contains(".jsp")){/*Valida la redirección entre páginas obteniendo los cookies y capturando el token */ if(url.contains(".jsp")){/*Valida la redirección entre páginas obteniendo los cookies y capturando el token */
auth = request.getHeader("Cookie"); auth = request.getHeader("Cookie");
if(auth.contains("Bearer")){ if(auth!=null){
String[] parts = auth.split(";"); if(auth.contains("Bearer")){
String authorization = parts[0]; int indiceBearer = 0;
parts = authorization.split("%20"); String[] parts = auth.split(";");
auth = "Bearer "+parts[1];
System.out.println(auth); 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{ }else{
auth = request.getHeader("Authorization"); auth = request.getHeader("Authorization");
...@@ -81,10 +95,7 @@ public class RequestFilter implements Filter, ServletContextListener { ...@@ -81,10 +95,7 @@ public class RequestFilter implements Filter, ServletContextListener {
try{ try{
respuesta = postRequest.getRespueta(auth); respuesta = postRequest.getRespueta(auth);
}catch(Exception ex){ }catch(Exception ex){
Response.ResponseBuilder builder = null; setError(response);
sendError(response);
builder = Response.status(Response.Status.UNAUTHORIZED).entity(response);
throw new WebApplicationException(builder.build());
} }
valid = new JSONObject(respuesta); valid = new JSONObject(respuesta);
if (valid.getBoolean("status")) { if (valid.getBoolean("status")) {
...@@ -103,6 +114,7 @@ public class RequestFilter implements Filter, ServletContextListener { ...@@ -103,6 +114,7 @@ public class RequestFilter implements Filter, ServletContextListener {
switch(vista.toString()){//Agrega las vistas detalle switch(vista.toString()){//Agrega las vistas detalle
case VistasExtras.MANTENIMIENTO_PERSONA:VistasExtras.getVistasExtrasMantenimientoPersona(vistas); break; case VistasExtras.MANTENIMIENTO_PERSONA:VistasExtras.getVistasExtrasMantenimientoPersona(vistas); break;
case VistasExtras.OTROS:VistasExtras.getVistasExtrasMantenimientoOtros(vistas);break;//Ejemplo case VistasExtras.OTROS:VistasExtras.getVistasExtrasMantenimientoOtros(vistas);break;//Ejemplo
case VistasExtras.REPORTE_PERSONA:VistasExtras.getVistasExtrasMantenimientoOtros(vistas);break;
} }
System.out.println("Vista : "+vista +" rutaJSP : "+rutaJsp); System.out.println("Vista : "+vista +" rutaJSP : "+rutaJsp);
if(vista.toString().equalsIgnoreCase(rutaJsp)){ if(vista.toString().equalsIgnoreCase(rutaJsp)){
...@@ -112,10 +124,7 @@ public class RequestFilter implements Filter, ServletContextListener { ...@@ -112,10 +124,7 @@ public class RequestFilter implements Filter, ServletContextListener {
} }
if(!acceso){ if(!acceso){
Response.ResponseBuilder builder = null; setError(response);
sendError(response);
builder = Response.status(Response.Status.UNAUTHORIZED).entity(response);
throw new WebApplicationException(builder.build());
} }
} }
// List<String> views = (List<String>) ; // List<String> views = (List<String>) ;
...@@ -133,6 +142,12 @@ public class RequestFilter implements Filter, ServletContextListener { ...@@ -133,6 +142,12 @@ public class RequestFilter implements Filter, ServletContextListener {
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
response.sendError(401); 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 @Override
public void destroy() { public void destroy() {
......
...@@ -20,6 +20,10 @@ public final class VistasExtras { ...@@ -20,6 +20,10 @@ public final class VistasExtras {
// Otros // Otros
public static final String OTROS = "example.jsp";//Ejemplo public static final String OTROS = "example.jsp";//Ejemplo
private static final String DETALLE_OTROS = "detalleOtros.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 // End otros
/** /**
* <p> * <p>
...@@ -39,6 +43,8 @@ public final class VistasExtras { ...@@ -39,6 +43,8 @@ public final class VistasExtras {
} }
public static List<Object> getVistasExtrasMantenimientoOtros(List<Object> vistas){ public static List<Object> getVistasExtrasMantenimientoOtros(List<Object> vistas){
vistas.add(DETALLE_OTROS); vistas.add(DETALLE_OTROS);
vistas.add(DETALLE_REPORTE_PERSONA);
vistas.add(DETALLE_REPORTE_PERSONA2);
return vistas; return vistas;
} }
} }
...@@ -80,7 +80,7 @@ let logOut = () =>{ ...@@ -80,7 +80,7 @@ let logOut = () =>{
* vista va = vista a donde va con .jsp * vista va = vista a donde va con .jsp
* */ * */
function setActive(vistaViene,vistaVa){ function setActive(vistaViene,vistaVa){
Cookies.set("active",vistaViene, {expiry : 100}); Cookies.set("lActive",vistaViene, {expiry : 100});
window.location.href=vistaVa; window.location.href=vistaVa;
} }
logOut(); logOut();
......
/*Obtiene el cookie y asigna una clase*/ /*Obtiene el cookie y asigna una clase*/
let getActive = () =>{ let getActive = () =>{
let active = Cookies.get('active'); let active = Cookies.get('lActive');
$("#"+active).parent('li').addClass('active'); $("#"+active).parent('li').addClass('active');
} }
getActive(); getActive();
......
let getActive = () =>{ let getActive = () =>{
let active = Cookies.get('active'); let active = Cookies.get('lActive');
console.log(active); console.log(active);
$("#"+active).parent('li').addClass('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 @@ ...@@ -74,7 +74,6 @@
<script type="text/javascript" src="../plantilla/assets/js/pages/form_bootstrap_select.js"></script> <script type="text/javascript" src="../plantilla/assets/js/pages/form_bootstrap_select.js"></script>
<!--js--> <!--js-->
<script src="../js/general.js" type="text/javascript"></script>
<script src="../js/pages/consultaUbigeo.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> <script src="../js/pages/sidebar.js" type="text/javascript"></script>
</body> </body>
......
...@@ -46,7 +46,6 @@ ...@@ -46,7 +46,6 @@
<!--mi js--> <!--mi js-->
<script src="../js/lib/validate_inputs.js" type="text/javascript"></script> <script src="../js/lib/validate_inputs.js" type="text/javascript"></script>
<script src="../js/general.js" type="text/javascript"></script>
<!--mi js--> <!--mi js-->
<script src="../js/pages/sidebar.js" type="text/javascript"></script> <script src="../js/pages/sidebar.js" type="text/javascript"></script>
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<body> <body>
<%@include file="templates/header-body.jsp" %> <%@include file="templates/header-body.jsp" %>
<h1>Detalle Reporte</h1> <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" %> <%@include file="templates/footer-body.jsp" %>
...@@ -47,7 +47,6 @@ ...@@ -47,7 +47,6 @@
<!--mi js--> <!--mi js-->
<script src="../js/lib/validate_inputs.js" type="text/javascript"></script> <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> <script src="../js/pages/sidebar.js" type="text/javascript"></script>
<!--mi js--> <!--mi js-->
<script src="../js/pages/detalleReportePersona.js" type="text/javascript"></script> <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 @@ ...@@ -32,8 +32,6 @@
<script type="text/javascript" src="../plantilla/assets/js/pages/form_bootstrap_select.js"></script> <script type="text/javascript" src="../plantilla/assets/js/pages/form_bootstrap_select.js"></script>
<!--js--> <!--js-->
<script src="../js/general.js" type="text/javascript"></script>
<script src="../js/pages/sidebar.js" type="text/javascript"></script> <script src="../js/pages/sidebar.js" type="text/javascript"></script>
</body> </body>
</html> </html>
...@@ -264,7 +264,6 @@ ...@@ -264,7 +264,6 @@
<!--mi js--> <!--mi js-->
<script src="../js/lib/validate_inputs.js" type="text/javascript"></script> <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> <script src="../js/pages/mantenimientoPersona.js" type="text/javascript"></script>
<!--mi js--> <!--mi js-->
<script src="../js/pages/sidebar.js" type="text/javascript"></script> <script src="../js/pages/sidebar.js" type="text/javascript"></script>
......
...@@ -105,7 +105,6 @@ ...@@ -105,7 +105,6 @@
<!--mi js--> <!--mi js-->
<script src="../js/lib/validate_inputs.js" type="text/javascript"></script> <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> <script src="../js/pages/sidebar.js" type="text/javascript"></script>
<!--mi js--> <!--mi js-->
......
...@@ -27,4 +27,6 @@ ...@@ -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/plugins/forms/selects/bootstrap_multiselect.js"></script>
<script type="text/javascript" src="../plantilla/assets/js/core/app.js"></script> <script type="text/javascript" src="../plantilla/assets/js/core/app.js"></script>
<!-- /core JS files --> <!-- /core JS files -->
\ No newline at end of file <!-- /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