15
Control de acceso en Java EE

Control de acceso en Java EE

  • Upload
    tejana

  • View
    40

  • Download
    0

Embed Size (px)

DESCRIPTION

Control de acceso en Java EE. 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. Seguridad en Java EE. - PowerPoint PPT Presentation

Citation preview

Page 1: Control de acceso en Java EE

Control de acceso en Java EE

Page 2: Control de acceso en Java EE

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

Page 3: Control de acceso en Java EE

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

Page 4: Control de acceso en Java EE

Control de acceso en Java EE

• Cualquier 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

Page 5: Control de acceso en Java EE

Control de acceso en Java EE, II

• El 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.

Page 6: Control de acceso en Java EE

• 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.)

Page 7: Control de acceso en Java EE

• 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

Page 8: Control de acceso en Java EE

• 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)

Page 9: Control de acceso en Java EE

• … tiene las siguientes características:– El fichero web.xml indica los roles existentes:

<security-role><role-name>coordinador</role-

name></security-role><security-role>

<role-name>tecnico</role-name></security-role>

Page 10: Control de acceso en Java EE

• … 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

Page 11: Control de acceso en Java EE

• Extensiones y variaciones:– Se puede utilizar un formulario en lugar de la

ventana de diálogo por defecto para la autentificación

– …

Page 12: Control de acceso en Java EE

<login-config><auth-method>FORM</auth-method><realm-name>file</realm-name><form-login-config><form-login-page>/login.xhtml</form-login-page><form-error-page>/error.xhtml</form-error-page></form-login-config>

</login-config>

Page 13: Control de acceso en Java EE

• Extensiones y variaciones:– …– Se pueden especificar los roles y el tipo de

transporte en el fichero web.xml en lugar de utilizar anotaciones

Page 14: Control de acceso en Java EE

<security-constraint> <web-resource-collection> <web-resource-name>retail</web-resource-

name> <url-pattern>/acme/retail/*</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection>

Page 15: Control de acceso en Java EE

…<auth-constraint>

<role-name>CLIENT</role-name> </auth-constraint> <user-data-constraint>

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

</user-data-constraint></security-constraint>