Browse Source

Funciones login

master
Samuel Gamez 6 months ago
parent
commit
9e4bcd333d
  1. 127
      ProyectoInventario-war/src/java/xforce/seguridad/DemoBeanLogin.java
  2. 2
      ProyectoInventario-war/web/estados.xhtml
  3. 2
      ProyectoInventario-war/web/paises.xhtml
  4. 17
      ProyectoInventario-war/web/productoLista.xhtml
  5. 4
      ProyectoInventario-war/web/template/listas.xhtml

127
ProyectoInventario-war/src/java/xforce/seguridad/DemoBeanLogin.java

@ -41,6 +41,7 @@ public class DemoBeanLogin implements Serializable {
private String user;
private static String http = "pinchilink";
private boolean permisos = false;
private boolean agregaciones = false;
public Usuarios getUsuarios() {
return usuarios;
@ -58,6 +59,14 @@ public class DemoBeanLogin implements Serializable {
this.rol = rol;
}
public boolean isAgregaciones() {
return agregaciones;
}
public void setAgregaciones(boolean agregaciones) {
this.agregaciones = agregaciones;
}
public String getUser() {
return user;
}
@ -102,7 +111,6 @@ public class DemoBeanLogin implements Serializable {
System.out.println(rol);
httpSession.setAttribute(http, "true");
permiso();
System.out.println(permisos);
usuarios = new Usuarios();
return "productoLista.xhtml";
@ -128,7 +136,7 @@ public class DemoBeanLogin implements Serializable {
}
}
public void verificarAcceso(String rolesRequeridos) {
public void verificarAcceso(String rolesRequeridos, String nombreDeLaPagina) {
String[] roles = rolesRequeridos.split(",");
boolean accesoPermitido = false;
for (String rolRequerido : roles) {
@ -141,22 +149,105 @@ public class DemoBeanLogin implements Serializable {
FacesContext context = FacesContext.getCurrentInstance();
NavigationHandler handler = context.getApplication().getNavigationHandler();
handler.handleNavigation(context, null, "productoLista.xhtml?faces-redirect=true");
}
}
public void permiso() {
switch (rol) {
case "admin":
permisos = true;
break;
case "auxiliar":
permisos = false;
break;
case "almacenista":
permisos = false;
break;
default:
permisos = false;
} else {
switch (nombreDeLaPagina) {
//
case "productoLista":
switch (rol) {
case "admin":
permisos = true;
agregaciones = true;
break;
case "almacenista":
permisos = true;
agregaciones = true;
break;
case "auxiliar":
permisos = false;
agregaciones = false;
break;
default:
permisos = false;
agregaciones = false;
}
break;
//
case "marcaLista":
switch (rol) {
case "admin":
break;
case "almacenista":
break;
case "auxiliar":
break;
default:
permisos = false;
agregaciones = false;
}
break;
//
case "usuariosLista":
switch (rol) {
case "admin":
break;
case "almacenista":
break;
case "auxiliar":
break;
default:
permisos = false;
agregaciones = false;
}
break;
//
case "proveedorLista":
switch (rol) {
case "admin":
break;
case "almacenista":
break;
case "auxiliar":
break;
default:
permisos = false;
agregaciones = false;
}
break;
//
case "ubicacionLista":
switch (rol) {
case "admin":
break;
case "almacenista":
break;
case "auxiliar":
break;
default:
permisos = false;
agregaciones = false;
}
break;
default:
break;
}
}
}

2
ProyectoInventario-war/web/estados.xhtml

@ -117,7 +117,7 @@ Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/XHtml.xhtml to edit t
ajax="true"
styleClass="ui-button-success"
style="width: 50px;"
icon="pi pi-check"
icon="pi pi-save"
update="formEstados:tableEstados, nombre, paisesId,
alertNombre, alertPais, formEstados:growl" />

2
ProyectoInventario-war/web/paises.xhtml

@ -85,7 +85,7 @@ Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/XHtml.xhtml to edit t
ajax="true"
styleClass="ui-button-success"
style="width: 50px;"
icon="pi pi-check"
icon="pi pi-save"
update="formPais:tablePais, nombre, alertNombre, formPais:growl" />
<p:commandButton oncomplete="PF('pais').close()"

17
ProyectoInventario-war/web/productoLista.xhtml

@ -23,6 +23,12 @@
<ui:define name="content">
<f:view>
<f:metadata>
<f:viewParam name="rol" value="#{demoBeanLogin.rol}" />
<f:event type="preRenderView" listener="#{demoBeanLogin.verificarAcceso('admin,almacenista,auxiliar', 'productoLista')}" />
</f:metadata>
<div>
<h:form>
<p:menubar >
@ -39,20 +45,22 @@
icon="pi pi-globe"
oncomplete="PF('pais').show()"
update="paisDialog"
actionListener="#{demoBeanPaises.prepararNuevo()}"/>
actionListener="#{demoBeanPaises.prepararNuevo()}"
rendered="#{demoBeanLogin.agregaciones == true}" />
<p:menuitem value="Estados"
icon="pi pi-map"
oncomplete="PF('estado').show()"
update="estadosDialog"
actionListener="#{demoBeanEstados.prepararNuevo()}"/>
actionListener="#{demoBeanEstados.prepararNuevo()}"
rendered="#{demoBeanLogin.agregaciones == true}" />
<p:menuitem value="Tipos"
icon="pi pi-tags"
oncomplete="PF('tipo').show()"
update="tip"
actionListener="#{demoBeanTipo.prepararNuevo()}"/>
<!-- <p:divider />-->
actionListener="#{demoBeanTipo.prepararNuevo()}"
rendered="#{demoBeanLogin.agregaciones == true}" />
</p:submenu>
</p:menubar>
@ -214,6 +222,7 @@
oncomplete="PF('deleteProducto').show()"
update=":dialogDel"
style="margin-left: 1px"
disabled="#{!demoBeanLogin.permisos}"
/>
</div>
</p:column>

4
ProyectoInventario-war/web/template/listas.xhtml

@ -26,8 +26,8 @@
<p:commandButton action="#{demoBeanLogin.logout()}"
immediate="true"
ajax="false"
style="margin-left: 5px; margin-right: 10px; width: 50px; vertical-align: middle;"
icon="pi pi-times"
style="margin-left: 5px; margin-right: 10px; vertical-align: middle;"
icon="pi pi-power-off"
styleClass="ui-button-danger" />
</h:form>
</div>

Loading…
Cancel
Save