Commit a49e1cf4 by Billy Larru

omitiendo en el filtro a todos los modales de la carpeta vistas/modals

parent e019a7ce
...@@ -34,80 +34,86 @@ import org.json.JSONObject; ...@@ -34,80 +34,86 @@ import org.json.JSONObject;
* @author Percy Oliver Quispe Huarcaya * @author Percy Oliver Quispe Huarcaya
*/ */
public class RequestsFilter implements Filter { public class RequestsFilter implements Filter {
private FilterConfig filterConfig = null; private FilterConfig filterConfig = null;
public RequestsFilter() { public RequestsFilter() {
} }
private void doBeforeProcessing(ServletRequest req, ServletResponse resp, FilterChain chain) private void doBeforeProcessing(ServletRequest req, ServletResponse resp, FilterChain chain)
throws IOException, ServletException { throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req; HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp; HttpServletResponse response = (HttpServletResponse) resp;
String uri = request.getRequestURI(); String uri = request.getRequestURI();
if(uri.endsWith("vistas/index.jsp")){
if (uri.contains("vistas/modals/")) {
chain.doFilter(req, resp);
return;
}
if (uri.endsWith("vistas/index.jsp")) {
if (request.getSession().getAttribute("codigo") != null) { if (request.getSession().getAttribute("codigo") != null) {
response.sendRedirect("main.jsp"); response.sendRedirect("main.jsp");
return; return;
} }
chain.doFilter(req, resp); chain.doFilter(req, resp);
}else{ } else {
if (request.getSession().getAttribute("codigo") != null) { if (request.getSession().getAttribute("codigo") != null) {
if (uri.endsWith(".jsp")) { if (uri.endsWith(".jsp")) {
HttpSession session = request.getSession(); HttpSession session = request.getSession();
HttpRequest httpRequest = new HttpRequest(); HttpRequest httpRequest = new HttpRequest();
JSONObject valid = null; JSONObject valid = null;
String respuesta = ""; String respuesta = "";
String auth = ""; String auth = "";
try { try {
if (session.getAttribute("Authorization") != null) { if (session.getAttribute("Authorization") != null) {
auth = (String) session.getAttribute("Authorization"); auth = (String) session.getAttribute("Authorization");
} else { } else {
setError(response); setError(response);
}
respuesta = httpRequest.getRespuesta(RequestPath.VERIFICAR_LOGIN, HttpRequest.POST, new JSONObject("{}"), auth);
valid = new JSONObject(respuesta);
if (valid.getBoolean("status")) {
JSONObject menu = new JSONObject(valid.getString("menu"));//Obtiene el menu
List<Object> vistas = new ArrayList<>();
JSONObject rolvista = valid.getJSONObject("rolvista");
JSONArray urls = rolvista.getJSONArray("vistas");
for (int i = 0; i < urls.length(); i++) {
vistas.add(urls.get(i));
} }
respuesta = httpRequest.getRespuesta(RequestPath.VERIFICAR_LOGIN, HttpRequest.POST, new JSONObject("{}"), auth); vistas.add("main.jsp");
valid = new JSONObject(respuesta); String ruta = request.getRequestURI();
if (valid.getBoolean("status")) { int indice = GeneralUtils.obtenerIndex(ruta);
JSONObject menu = new JSONObject(valid.getString("menu"));//Obtiene el menu String rutaJsp = ruta.substring(indice, ruta.length());
List<Object> vistas = new ArrayList<>(); boolean acceso = vistas.contains(rutaJsp);
JSONObject rolvista = valid.getJSONObject("rolvista"); if (!acceso) {
JSONArray urls = rolvista.getJSONArray("vistas"); request.getSession().setAttribute("error", "no tiene acceso a la vista solicitada");//Esta session se elimina en el jsp (para que no ocupe memoria)
for (int i = 0; i < urls.length(); i++) {
vistas.add(urls.get(i));
}
vistas.add("main.jsp");
String ruta = request.getRequestURI();
int indice = GeneralUtils.obtenerIndex(ruta);
String rutaJsp = ruta.substring(indice, ruta.length());
boolean acceso = vistas.contains(rutaJsp);
if (!acceso) {
request.getSession().setAttribute("error", "no tiene acceso a la vista solicitada");//Esta session se elimina en el jsp (para que no ocupe memoria)
request.getRequestDispatcher("/vistas/error.jsp").forward(request, response);
return;
}
session.setAttribute("menu", menu.toString());
} else {
deleteCredenciales(response,request);
request.getSession().setAttribute("error", "no tiene credenciales validas");
request.getRequestDispatcher("/vistas/error.jsp").forward(request, response); request.getRequestDispatcher("/vistas/error.jsp").forward(request, response);
return; return;
} }
} catch (Exception ex) { session.setAttribute("menu", menu.toString());
request.getSession().setAttribute("error", ex.getMessage()); } else {
deleteCredenciales(response, request);
request.getSession().setAttribute("error", "no tiene credenciales validas");
request.getRequestDispatcher("/vistas/error.jsp").forward(request, response); request.getRequestDispatcher("/vistas/error.jsp").forward(request, response);
return; return;
} }
} catch (Exception ex) {
request.getSession().setAttribute("error", ex.getMessage());
request.getRequestDispatcher("/vistas/error.jsp").forward(request, response);
return;
} }
chain.doFilter(request, response);
} else {
deleteCredenciales(response,request);
request.getSession().setAttribute("error","no tiene una sesion activa");
request.getRequestDispatcher("/vistas/error.jsp").forward(request, response);
} }
chain.doFilter(request, response);
} else {
deleteCredenciales(response, request);
request.getSession().setAttribute("error", "no tiene una sesion activa");
request.getRequestDispatcher("/vistas/error.jsp").forward(request, response);
}
} }
} }
private void deleteCredenciales(HttpServletResponse response,HttpServletRequest request) {
private void deleteCredenciales(HttpServletResponse response, HttpServletRequest request) {
request.getSession().invalidate(); request.getSession().invalidate();
Cookie cookieAuth = new Cookie("Authorization", ""); Cookie cookieAuth = new Cookie("Authorization", "");
cookieAuth.setMaxAge(0); cookieAuth.setMaxAge(0);
...@@ -125,6 +131,7 @@ public class RequestsFilter implements Filter { ...@@ -125,6 +131,7 @@ public class RequestsFilter implements Filter {
builder = Response.status(Response.Status.UNAUTHORIZED).entity(response); builder = Response.status(Response.Status.UNAUTHORIZED).entity(response);
throw new WebApplicationException(builder.build()); throw new WebApplicationException(builder.build());
} }
private void doAfterProcessing(ServletRequest request, ServletResponse response) private void doAfterProcessing(ServletRequest request, ServletResponse response)
throws IOException, ServletException { throws IOException, ServletException {
...@@ -159,17 +166,12 @@ public class RequestsFilter implements Filter { ...@@ -159,17 +166,12 @@ public class RequestsFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) FilterChain chain)
throws IOException, ServletException { throws IOException, ServletException {
doBeforeProcessing(request, response, chain); doBeforeProcessing(request, response, chain);
// chain.doFilter(request, response); // chain.doFilter(request, response);
doAfterProcessing(request, response); doAfterProcessing(request, response);
} }
/** /**
...@@ -191,13 +193,13 @@ public class RequestsFilter implements Filter { ...@@ -191,13 +193,13 @@ public class RequestsFilter implements Filter {
/** /**
* Destroy method for this filter * Destroy method for this filter
*/ */
public void destroy() { public void destroy() {
} }
/** /**
* Init method for this filter * Init method for this filter
*/ */
public void init(FilterConfig filterConfig) { public void init(FilterConfig filterConfig) {
this.filterConfig = filterConfig; this.filterConfig = filterConfig;
if (filterConfig != null) { if (filterConfig != null) {
} }
...@@ -216,20 +218,20 @@ public class RequestsFilter implements Filter { ...@@ -216,20 +218,20 @@ public class RequestsFilter implements Filter {
sb.append(")"); sb.append(")");
return (sb.toString()); return (sb.toString());
} }
private void sendProcessingError(Throwable t, ServletResponse response) { private void sendProcessingError(Throwable t, ServletResponse response) {
String stackTrace = getStackTrace(t); String stackTrace = getStackTrace(t);
if (stackTrace != null && !stackTrace.equals("")) { if (stackTrace != null && !stackTrace.equals("")) {
try { try {
response.setContentType("text/html"); response.setContentType("text/html");
PrintStream ps = new PrintStream(response.getOutputStream()); PrintStream ps = new PrintStream(response.getOutputStream());
PrintWriter pw = new PrintWriter(ps); PrintWriter pw = new PrintWriter(ps);
pw.print("<html>\n<head>\n<title>Error</title>\n</head>\n<body>\n"); //NOI18N pw.print("<html>\n<head>\n<title>Error</title>\n</head>\n<body>\n"); //NOI18N
// PENDING! Localize this for next official release // PENDING! Localize this for next official release
pw.print("<h1>The resource did not process correctly</h1>\n<pre>\n"); pw.print("<h1>The resource did not process correctly</h1>\n<pre>\n");
pw.print(stackTrace); pw.print(stackTrace);
pw.print("</pre></body>\n</html>"); //NOI18N pw.print("</pre></body>\n</html>"); //NOI18N
pw.close(); pw.close();
ps.close(); ps.close();
...@@ -246,7 +248,7 @@ public class RequestsFilter implements Filter { ...@@ -246,7 +248,7 @@ public class RequestsFilter implements Filter {
} }
} }
} }
public static String getStackTrace(Throwable t) { public static String getStackTrace(Throwable t) {
String stackTrace = null; String stackTrace = null;
try { try {
...@@ -260,9 +262,9 @@ public class RequestsFilter implements Filter { ...@@ -260,9 +262,9 @@ public class RequestsFilter implements Filter {
} }
return stackTrace; return stackTrace;
} }
public void log(String msg) { public void log(String msg) {
filterConfig.getServletContext().log(msg); filterConfig.getServletContext().log(msg);
} }
} }
<link href="https://fonts.googleapis.com/css?family=Roboto:400,300,100,500,700,900" rel="stylesheet" type="text/css">
<link href="../plantilla/assets/css/icons/icomoon/styles.css" rel="stylesheet" type="text/css">
<link href="../plantilla/assets/css/icons/fontawesome/styles.min.css" rel="stylesheet" type="text/css">
<link href="../plantilla/assets/css/bootstrap.css" rel="stylesheet" type="text/css">
<link href="../plantilla/assets/css/core.css" rel="stylesheet" type="text/css">
<link href="../plantilla/assets/css/components.css" rel="stylesheet" type="text/css">
<link href="../plantilla/assets/css/colors.css" rel="stylesheet" type="text/css">
<link href="../css/general.css" rel="stylesheet" type="text/css"/>
<div class="row">
<div class="form-group col-md-12">
<label>Fecha de asistencia</label>
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<input class="form-control" type="text" id="dpAsistencia" data-provide="datepicker-inline" disabled>
</div>
</div>
</div>
<div class="row">
<div class="form-group col-md-12">
<label>Policia</label>
<span class="label label-left border-left-primary label-striped form-control" id="spanNombres"></span>
</div>
</div>
<div class="row">
<div class="form-group col-md-12">
<label style="font-size: small">
Tipo de registro:
</label>
<span class="text-danger"> (*)</span>
<select id="cboTipoRegistro" class="form-control">
<option value="0">[SELECCIONE]</option>
<option value="1">Registro Autorizado</option>
<option value="3">Falta con Aviso</option>
<option value="4">Falta sin Aviso</option>
</select>
</div>
</div>
<div class="row" id="divFiltro">
</div>
\ 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