1 Control de acceso en Java EE
2 Seguridad en Java Java incluye mecanismos de seguridad con distintas finalidades: Controlar los recursos a los que pueden acceder programas Java (applets, etc.) Asegurar la seguridad en las comunicaciones
3 Seguridad en Java EE Java EE también incluye mecanismos de seguridad para controlar el acceso de los usuarios a las aplicaciones web. Estos mecanismos incluyen a algunos de los anteriores
4 Control de acceso en Java EECualquier componente web (servlet o página JSP) o EJB puede limitar los usuarios que pueden acceder a la misma Java EE incluye clases y mecanismos (anotaciones, etc.) para simplificar la implementación del control de acceso de usuarios
5 Control de acceso en Java EE, IIEl control de acceso se puede realizar por diversos procedimientos: usuario y clave, certificado digital, directorio de nombres, etc. Cuando una componente web especifica limitaciones de acceso mediante usuario y clave y un usuario intenta acceder a ella, la aplicación web correspondiente muestra en primer lugar un formulario o ventana de diálogo que le solicita los datos requeridos. Si los datos son correctos, le permite el acceso; en caso contrario, le muestra una ventana o formulario de error.
6 Los servidores Java EE incluyen mecanismos para la definición de dominios de autentificación de distintos tipos (mediante certificado, comprobación de nombre de usuario y clave en un fichero o en una base de datos, etc.)
7 Para especificar el control de acceso en una aplicación Java EE es preciso hacer dos cosas:Incluir en un dominio de seguridad del servidor la información referente a los grupos de usuarios (identificador, contraseña, roles, etc.) Incluir en las componentes web y EJBs apropiadas anotaciones que determinen sus limitaciones de acceso, o bien incluir la información correspondiente en el fichero web.xml
8 Una aplicación sencilla con limitación de acceso tiene las siguientes características:Los servlets con limitaciones de acceso se anotan mediante @ServletSecurity( @HttpConstraint( rolesAllowed={…}, transportGuarantee=“…”)) (transportGuarantee puede ser CONFIDENTIAL o NONE)
9 … tiene las siguientes características:El fichero web.xml indica los roles existentes:
10 … tiene las siguientes características:El servidor tiene activado el dominio de seguridad (realm) file y registrados los usuarios, con su grupo y contraseña correspondientes El servidor tiene configurada la seguridad con asignación por defecto de principal a rol (default principal to role mapping) Lo anterior evita tener que definir a qué rol de la aplicación corresponde cada grupo de usuarios del servidor
11 Extensiones y variaciones:Se puede utilizar un formulario en lugar de la ventana de diálogo por defecto para la autentificación …
12
13 Extensiones y variaciones:… Se pueden especificar los roles y el tipo de transporte en el fichero web.xml en lugar de utilizar anotaciones
14
15 …