Hay disponibles tres tipos de mecanismos de autenticación de inicio de sesión web: autenticación
básica, autenticación basada en formulario y autenticación basada en certificado de cliente. Los recursos web
de una aplicación web deben protegerse asignando roles de seguridad a dichos recursos.
Acerca de esta tarea
Para proteger las aplicaciones web, determine los recursos web que necesitan protección para
determinar cómo protegerlos.
Nota: Este procedimiento puede que no coincida con los pasos que deben realizarse al utilizar
la
herramienta de ensamblaje,
o que no coincida con la versión de la herramienta de ensamblaje que va a utilizar. Debe seguir las instrucciones para la herramienta y versión que está utilizando.
Los siguientes pasos proporcionan información detallada acerca de cómo proteger aplicaciones web utilizando
una herramienta de ensamblaje:
Procedimiento
- En una herramienta de ensamblaje, importe el archivo archivador web (WAR) o un archivo archivador de
aplicaciones (EAR) que contenga uno o más módulos Web.
- En la carpeta Explorador de proyectos, localice la aplicación web.
- Pulse el botón derecho del ratón en el descriptor de
despliegue y pulse Abrir con > Editor del descriptor de despliegue. Se abre la ventana Descriptor de despliegue. Para consultar información en línea
acerca del editor, pulse F1 y pulse el nombre del editor. Si selecciona un archivo WAR (Web Archive), se abrirá web Deployment Descriptor Editor. Si selecciona un archivo EAR (Enterprise Archive) de
aplicación, se abrirá un Application Deployment Descriptor Editor.
- Cree roles de seguridad a nivel de aplicación o a nivel de módulo web. Si se crea un rol de seguridad a nivel de módulo Web, el rol también aparecerá en el nivel de
aplicación.
Si se crea un rol de seguridad a nivel de aplicación, el rol no aparecerá en todos los módulos web. Puede copiar y pegar un rol de seguridad a nivel de aplicación a uno o más roles de seguridad de módulos Web.
- Cree un rol a nivel de módulo Web. En web Deployment Descriptor Editor, pulse la pestaña Security
(Seguridad). En Security Roles
(Roles de seguridad), pulse Add (Añadir).
Entre el nombre del rol de seguridad, describa el rol de seguridad y pulse
Finish (Finalizar).
- Cree un rol a nivel de aplicación. En Application Deployment
Descriptor Editor, pulse la pestaña Security (Seguridad). En la lista de
roles de seguridad, pulse Add (Añadir). En el asistente Add
Security Role (Añadir rol de seguridad), asigne un nombre al rol de
seguridad y descríbalo y, a continuación, pulse Finish (Finalizar).
- Cree las restricciones de seguridad. Las restricciones de seguridad es una correlación de uno o varios recursos web con un conjunto de roles.
- En la pestaña Security (Seguridad) de Web Deployment Descriptor Editor, pulse Security
Constraints (Restricciones de seguridad). En la pestaña Security Constraints (Restricciones
de seguridad), puede realizar la siguiente acción:
- En Security Constraints (Restricciones de seguridad),
pulse Add (Añadir).
- En Constraint name (Nombre de restricción), especifique un
nombre de visualización para la restricción de seguridad y pulse
Next (Siguiente).
- Proporcione un nombre y una descripción para la colección de recursos web.
- Seleccione uno o más métodos HTTP. Las opciones de métodos HTTP son:
GET, PUT, HEAD, TRACE, POST, DELETE y OPTIONS.
- En el campo Patrones, pulse Añadir.
- Especifique un patrón de URL. Por ejemplo, escriba - /*,
*.jsp, /hello. Consulte la especificación del Servlet versión 2.4 para
obtener las instrucciones para correlacionar patrones URL con servlets. El tiempo de ejecución de la seguridad utiliza la primera coincidencia exacta para correlacionar el URL entrante con los patrones URL. Si no existe ninguna coincidencia exacta, el tiempo de ejecución de la seguridad utiliza la coincidencia más larga. El patrón de URL con carácter comodín (*.,*.jsp) coincidente se utiliza el último.
- Pulse Finalizar.
- Repita estos pasos para crear varias restricciones de seguridad.
- Correlacione los elementos security-role-ref y role-name con el elemento role-link. Durante el desarrollo de la aplicación web, puede crear el elemento security-role-ref. El elemento security-role-ref sólo contiene el
campo role-name. El campo role-name contiene el nombre del rol al que se
hace referencia en el código JSP (Java ServerPage) o del servlet para
determinar si el llamante está en un rol especificado. Puesto que los
roles de seguridad se crean durante la fase de ensamblaje, el
desarrollador utiliza un nombre de rol lógico en el campo Role-name y
proporciona la suficiente descripción en el campo de Descripción para que
el ensamblador establezca la correlación con el rol real. El elemento security-role-ref está a nivel del servlet.
Un servlet o un archivo JSP (JavaServer Pages) puede tener varios
elementos security-role-ref o ninguno.
- En la pestaña References (Seguridad) de Web Deployment Descriptor Editor, pulse Security Constraints
(Restricciones de seguridad). En la pestaña References (Referencias), puede añadir o
eliminar el nombre de una referencia de enterprise bean al descriptor de
despliegue.
Puede definir cinco tipos de referencias en esta pestaña:
- Referencia de EJB
- Referencia de servicio
- Referencia de recurso
- Referencia de destinos de mensajes
- Referencia de roles de seguridad
- Referencia de entorno de recursos
- En la lista de referencias EJB (Enterprise
JavaBeans),
pulse Añadir.
- Especifique un nombre y un tipo para la referencia en los
campos Name (Nombre) y Ref Type (Tipo de referencia).
- Seleccione Enterprise Beans in the workplace
(Enterprise Beans en el lugar de trabajo) o Enterprise Beans not in the
workplace (Enterprise Beans que no están en el lugar de trabajo)
- Opcional: Si selecciona Enterprise
Beans not in the workplace (Enterprise Beans que no
están en el lugar de trabajo), seleccione el tipo de enterprise del campo
Tipo. Puede especificar un bean de entidad o un bean de sesión.
- Opcional: Pulse Browse (Examinar) para
especificar los valores de inicio local y de interfaz local en los campos
Local home (Inicio local) y Local antes de pulsar
Siguiente.
- Correlacione cada role-name utilizado durante el desarrollo
con el rol utilizando los pasos anteriores. Todos los nombres de
rol utilizados durante el desarrollo se correlacionan con el rol real.
- Especifique la identidad RunAs para los archivos JSP y servlets. La identidad de RunAs de un servlet se utiliza para invocar enterprise beans desde el código del servlet. Cuando se invocan los enterprise beans, la identidad de RunAs se pasa a
enterprise para llevar a cabo la comprobación de autorización en los
enterprise beans. Si no se especifica la identidad de RunAs, la identidad del cliente se propaga a los enterprise
beans. La identidad de RunAs se asigna a nivel de servlet.
- En la pestaña Servlets de web Deployment Descriptor Editor, bajo Servlets and JSP (Servlets y
JSP), pulse Add (Añadir). Se abrirá el Add Servlet o JSP wizard
(Asistente de añadir servlet o JSP).
- Especifique los valores de servlet o del archivo JSP
(JavaServer Page), incluidos el nombre, los parámetros de
inicialización y las correlaciones de URL y pulse Next (Siguiente).
- Especifique el destino del archivo de clases.
- Pulse Next (Siguiente) para especificar valores
adicionales o pulse Finsh (Finalizar).
- Pulse Run As (Ejecutar como) en la pestaña Servlets y
seleccione el rol de seguridad y describa el rol.
- Especifique una identidad RunAs para cada servlet y archivo JSP utilizados por la aplicación web.
- Configure el mecanismo de inicio de sesión para el módulo Web. Este mecanismo de inicio de sesión
configurado se aplica a todos los servlets, archivos JSP (JavaServer Pages) y recursos HTML del módulo web.
- Pulse la pestaña Pages (Páginas) de Web Deployment Descriptor Editor y pulse Login (Inicio
de sesión). Seleccione el
método de autenticación necesario. Los valores de método
disponibles son: Unspecified, Basic, Digest, Form, and Client-Cert.
- Especifique un nombre de reino.
- Si selecciona el método de autenticación Form (Formulario), seleccione una dirección web de la página de
inicio de sesión y de la página de errores. Por ejemplo, puede utilizar /login.jsp o /error.jsp. Las páginas de error y de inicio de sesión especificadas están en el archivo .war.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Instale el certificado del cliente en el navegador o cliente web y ponga el certificado de cliente en el
archivo de conjunto de claves de confianza del servidor, si está seleccionado ClientCert.
Instale el certificado del cliente en el navegador web del cliente y ponga el certificado de
cliente en el
archivo de conjunto de claves de confianza del servidor, si está seleccionado el certificado ClientCert.
El certificado público de la
entidad emisora de certificados de clientes debe colocarse en el
conjunto de claves
RACF
de los servidores. Si se trata de un registro del sistema operativo local, utilice el
mandato RACDCERT MAP o el mandato SAF (System Authorization Facility)
equivalente para permitir que se cree una identidad
MVS
mediante el certificado de cliente.
- Cierre Deployment Descriptor Editor y, cuando se le solicite, pulse
Yes (Sí) para guardar los cambios.
Resultados
Después de proteger una aplicación web, el archivo WAR (archivador Web) resultante contiene
información de seguridad en su descriptor de despliegue. La información de seguridad del módulo web se
almacena en el archivo
web.xml. Cuando se trabaja en el editor de descriptor de despliegue web, también puede editar otros descriptores de despliegue del de despliegue en el proyecto web, incluida la información sobre enlaces y extensiones de IBM® en los archivos
ibm-web-bnd.xmi y
ibm-web-ext.xmi.
Supported configurations: Para los
archivos de enlace y extensión de IBM, la extensión
del nombre de archivo .xmi o .xml es diferente en función de si se utiliza una aplicación
o módulo previo a Java EE 5 o una aplicación o módulo
Java EE 5 o posterior. Un archivo de enlace o
extensión de IBM se denomina ibm-*-ext.xmi o
ibm-*-bnd.xmi donde * es el tipo de archivo de extensión o enlace como app, application,
ejb-jar o web. Se aplican las condiciones siguientes:
- En el caso de una aplicación o módulo que utilice una Java EE anterior a la versión 5, la extensión del archivo debe ser .xmi.
- En el caso de una aplicación que utilice Java EE versión 5 o posterior, la extensión del archivo debe ser .xml. Si los archivos .xmi se incluyen con la aplicación o el módulo, el producto ignora los archivos .xmi.
No obstante, puede existir un módulo de Java EE
5 o posterior dentro de una aplicación que incluya archivos previos a Java EE 5 y que
utilice la extensión de nombre de archivo .xmi.
Los archivos ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi,
y ibm-portlet-ext.xmi siguen utilizando la extensión de archivo .xmi.
sptcfg
Qué hacer a continuación
Después de utilizar una herramienta de ensamblaje para proteger una aplicación web, puede instalar
la aplicación web con la consola administrativa. Durante la instalación de la aplicación web,
complete los pasos descritos en
Despliegue de aplicaciones protegidas para finalizar la protección de la aplicación web.