====== Novedades de la versión 0.0.7 ======
Las novedades del arquetipo en su versión 0.0.7 se enumeran en los siguientes apartados.
===== Plantilla de Diseño basada en Bootstrap 3.3 =====
La plantilla de diseño esta basada en [[http://getbootstrap.com/docs/3.3/|Bootstrap 3.3]]. Los ficheros están en la ruta **//src/main/web_resources/resources//** del módulo Web. Donde están los ficheros de fuentes, JS, CSS, etc. que utiliza bootstrap.
Como podemos ver, tenemos dividida la cabecera en tres secciones definidas mediante //
Como se puede observar, para cargar ficheros CSS mediante JSF utilizamos el componente //
* //editCellBs.xhtml//: permite definir los componentes que van a aparecer en la línea: //etiqueta - input - mensaje// como tres columnas de bootstrap. Se han añadido las variables //labelStyleClas//, //valueStyleClass// y //messageStyleClass// para poder definir los //col-xx-yy// de bootstrap. La etiqueta tiene implícita la clase CSS //control-label//, y el mensaje la clase //has-error//.
Veamos un ejemplo:
Para tener un //grid responsive// necesitamos:
* Un elemento HTML con clase CSS //container-fluid//, en este caso utilizamos un //
20 dic 2017 11:17:54,877 DEBUG (SuplantarIdentidadBean.java:88) - Usuario: juanmiguel.bernal@ticarum.es - Cargando identidad. Correo [pedro.delgado@ticarum.es].
20 dic 2017 11:21:31,825 INFO (SuplantarIdentidadBean.java:106) - Usuario: juanmiguel.bernal@ticarum.es - Suplantando identidad del usuario pedro.delgado@ticarum.es.
20 dic 2017 11:21:31,825 INFO (UmuIdentity.java:218) - Usuario: juanmiguel.bernal@ticarum.es - Suplantando al usuario [pedrody@um.es] por parte de [juanmiguelbg@um.es]
20 dic 2017 11:21:31,826 INFO (LogManagerBean.java:38) - Usuario: juanmiguel.bernal@ticarum.es - Cambiando USERNAME: juanmiguel.bernal@ticarum.es --> pedrody@um.es
20 dic 2017 11:21:31,826 INFO (LogManagerBean.java:38) - Usuario: pedrody@um.es - Cambiando USERNAME: pedrody@um.es --> pedrody@um.es
20 dic 2017 11:21:31,827 INFO (UmuIdentityLoader.java:40) - Usuario: pedrody@um.es - Entra en loadDataLoginSuccessful
20 dic 2017 11:21:31,827 INFO (UmuIdentityLoader.java:51) - Usuario: pedrody@um.es - Usuario conectado: pedrody@um.es
20 dic 2017 11:21:31,828 DEBUG (SqlStatementLogger.java:104) - Usuario: pedrody@um.es -
select
usuarios0_.LOGIN as LOGIN1_4_
from
PORTALFUNDEWEB.USUARIOS usuarios0_
where
usuarios0_.LOGIN=?
20 dic 2017 11:21:31,833 DEBUG (SqlStatementLogger.java:104) - Usuario: pedrody@um.es -
select
rolesusuar0_.LOGIN as LOGIN1_4_1_,
rolesusuar0_.ID_ROL as ID_ROL2_5_1_,
roles1_.ID_ROL as ID_ROL1_1_0_,
roles1_.DESCRIPCION as DESCRIPC2_1_0_,
roles1_.ROL_PADRE as ROL_PADR3_1_0_
from
PORTALFUNDEWEB.ROLES_USUARIO rolesusuar0_
inner join
PORTALFUNDEWEB.ROLES roles1_
on rolesusuar0_.ID_ROL=roles1_.ID_ROL
where
rolesusuar0_.LOGIN=?
20 dic 2017 11:21:31,837 INFO (UmuIdentityLoader.java:55) - Usuario: pedrody@um.es - ROL CARGADO: ADM
20 dic 2017 11:21:31,837 INFO (UmuIdentityLoader.java:42) - Usuario: pedrody@um.es - pasa a ser el usuario: pedrody@um.es
20 dic 2017 11:21:31,838 INFO (UmuIdentity.java:222) - Usuario: pedrody@um.es - Suplantacion correcta: [juanmiguelbg@um.es] ha suplantado a [pedrody@um.es].
Una vez hecha la suplantación, en la parte superior derecha de la pantalla, junto al nombre del usuario, aparece el botón //Restaurar//, para deshacer la suplantación.
{{ :fdw2.0:fundeweb2.0:gt_arquetipo:suplantacion-ii.jpg | Suplantación de identidad - II}}
Si restauramos nuestro usuario, volvemos a aparecer en la parte superior derecha de la pantalla.
{{ :fdw2.0:fundeweb2.0:gt_arquetipo:suplantacion-iii.jpg | Suplantación de identidad - III}}
En cuanto al //log//, aparecerá lo siguiente en la aplicación:
20 dic 2017 11:23:50,985 INFO (SuplantarIdentidadBean.java:122) - Usuario: pedrody@um.es - Restaurando identidad del usuario juanmiguelbg@um.es
20 dic 2017 11:23:50,986 INFO (UmuIdentity.java:240) - Usuario: pedrody@um.es - Restaurando la suplantacion del usuario [pedrody@um.es] por parte de [juanmiguelbg@um.es]
20 dic 2017 11:23:50,986 INFO (LogManagerBean.java:38) - Usuario: pedrody@um.es - Cambiando USERNAME: pedrody@um.es --> juanmiguelbg@um.es
20 dic 2017 11:23:50,987 INFO (LogManagerBean.java:38) - Usuario: juanmiguelbg@um.es - Cambiando USERNAME: juanmiguelbg@um.es --> juanmiguelbg@um.es
20 dic 2017 11:23:50,987 INFO (UmuIdentityLoader.java:40) - Usuario: juanmiguelbg@um.es - Entra en loadDataLoginSuccessful
20 dic 2017 11:23:50,988 INFO (UmuIdentityLoader.java:51) - Usuario: juanmiguelbg@um.es - Usuario conectado: juanmiguelbg@um.es
20 dic 2017 11:23:50,988 DEBUG (SqlStatementLogger.java:104) - Usuario: juanmiguelbg@um.es -
select
usuarios0_.LOGIN as LOGIN1_4_
from
PORTALFUNDEWEB.USUARIOS usuarios0_
where
usuarios0_.LOGIN=?
20 dic 2017 11:23:50,992 DEBUG (SqlStatementLogger.java:104) - Usuario: juanmiguelbg@um.es -
select
rolesusuar0_.LOGIN as LOGIN1_4_1_,
rolesusuar0_.ID_ROL as ID_ROL2_5_1_,
roles1_.ID_ROL as ID_ROL1_1_0_,
roles1_.DESCRIPCION as DESCRIPC2_1_0_,
roles1_.ROL_PADRE as ROL_PADR3_1_0_
from
PORTALFUNDEWEB.ROLES_USUARIO rolesusuar0_
inner join
PORTALFUNDEWEB.ROLES roles1_
on rolesusuar0_.ID_ROL=roles1_.ID_ROL
where
rolesusuar0_.LOGIN=?
20 dic 2017 11:23:50,997 INFO (UmuIdentityLoader.java:55) - Usuario: juanmiguelbg@um.es - ROL CARGADO: ADM
20 dic 2017 11:23:50,997 INFO (UmuIdentityLoader.java:42) - Usuario: juanmiguelbg@um.es - pasa a ser el usuario: juanmiguelbg@um.es
20 dic 2017 11:23:50,998 INFO (UmuIdentity.java:245) - Usuario: juanmiguelbg@um.es - Restauracion de la suplantacion correcta: el usuario [pedrody@um.es] ya no esta suplantado por [juanmiguelbg@um.es].
==== Mejoras en la Gestión de la Autorización ====
Las pantallas son //responsive//, y utilizan las nuevas plantillas para los decoradores. Se pueden usar como guía. Por defecto, este sistema de autorización esta desactivado. Para poder activar dicho sistema, tenemos que:
* Descomentar la anotación //@Entity// de las entidades del paquete //es.um.atica._mi_aplicacion_.security.entities//.
package es.um.atica.prueba.security.authorization.entities;
// Generated 18-jun-2014 10:18:26 by Hibernate Tools 4.0.0
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.jboss.seam.annotations.security.management.UserPassword;
import org.jboss.seam.annotations.security.management.UserPrincipal;
import org.jboss.seam.annotations.security.management.UserRoles;
import org.umu.atica.servicios.gesper.gente.entity.Persona;
/**
* Usuarios generated by hbm2java
*/
@NamedQueries({ @NamedQuery(name = "Usuarios.obtenerUsuarios", query = "select usuario from Usuarios usuario") })
//@Entity
@Table(schema = "PORTALFUNDEWEB", name = "USUARIOS")
public class Usuarios implements java.io.Serializable {
private static final long serialVersionUID = 5961882811529717090L;
...
}
* Descomentar en el fichero //components.xml// las siguientes lineas:
==== PrimeFaces ====
Con este arquetipo trabajamos con PrimeFaces 6.1 y PrimeFaces Extension 6.1.