====== Deshabilitar la infraestructura de autorización en aplicaciones Fundeweb 2.x ====== Para deshabilitar la infraestructura de gestión de roles y usuarios deberemos realizar dos pasos: - Modificaciones en el código Java: Eliminar las clases Java que mapean y acceden a base de datos y sobreescribir clase que cargue los permisos. - Configurar la aplicación para que no busque roles para el usuario logueado. A continuación describimos el proceso y los ficheros que hay que modificar para desactivar por completo esta funcionalidad. ===== Eliminar clases Java ===== Para que el validador de Hibernate no intente comprobar si las clases que mapean las tablas de roles existen en base de datos, deberemos eliminar el paquete **es.um.atica.[nombre_proyecto].security.entities**. Tras esta modificación deberemos borrar también el paquete **es.um.atica.[nombre_proyecto].security.control** que es el que contiene los manejadores que cargan los valores de esas tablas y la clase **UmuPermissionStore** en //es.um.atica.[nombre_proyecto].security// Una vez eliminadas todas estas clases estaremos en disposición de reconfigurar el proyecto para que no intente cargarlas y/o acceder a ellas. ===== Crear clase wrapper de UmuIdentityLoader ===== Para evitar que se intenten cargar los permisos deberemos crear una clase wrapper que nos permitirá anular la funcionalidad por defecto de UmuIdentityLoader que intenta cargar los roles del usuario que se ha logueado. Para ello, crearemos dentro del paquete **es.um.atica.p.security.authentication** una clase con el siguiente código package es.um.atica.p.security.authentication; import org.jboss.seam.annotations.Install; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.intercept.BypassInterceptors; import es.um.atica.seam.security.UmuIdentityLoader; @Name("es.um.atica.security.umuIdentityLoader") @Install(precedence = Install.APPLICATION) @BypassInterceptors public class [MiProyecto]IndentityLoader extends UmuIdentityLoader { @Override protected void cargarDatosUsuario(){ //No se carga ninguna información de autorización } } ===== Configurar aplicación ===== El primer paso que debemos dar es eliminar cualquier referencia a las clases que pudiera haber en nuestra aplicación, si ya hemos estado trabajando con ella. Una vez quitadas esas referencias deberemos comentar en el components.xml el siguiente código: A continuación, deberemos borrar del fichero **menu_lateral.xhtml**, en caso de que usemos la plantilla por defecto, el siguiente código: