Personalizar los formularios HTML
Publicada: noviembre de 2009
Se aplica a: Forefront Threat Management Gateway (TMG)
Forefront TMG proporciona varios métodos de autenticación que se pueden aplicar a las reglas de publicación web para los clientes que tengan acceso a los servidores web publicados. Cuando se selecciona la autenticación basada en formularios, se conduce a los usuarios a un formulario HTML para que proporcionen las credenciales de autenticación. Forefront TMG incluye conjuntos de formularios predeterminados que se usan para la autenticación basada en formularios. Es posible personalizar estos conjuntos de formularios para dar un aspecto diferente a los formularios de inicio de sesión en función del sitio web publicado.
En este tema se proporciona información general sobre los conjuntos de formularios de Forefront TMG y se explica cómo personalizarlos.
Información general sobre los formularios HTML
En las siguientes secciones se describen los conjuntos de formularios HTML que se incluyen con Forefront TMG y la estructura de los directorios de los conjuntos de formularios de Forefront TMG:
Conjuntos de formularios de Forefront TMG
Directorios de conjuntos de formularios
Conjuntos de formularios de Forefront TMG
Forefront TMG incluye conjuntos de formularios preconfigurados en las siguientes carpetas:
ISA: incluye todos los formularios HTML que pueden ser necesarios para la autenticación basada en formularios, tal y como se especifica en la escucha de web o en la regla de publicación web de Forefront TMG.
Exchange: incluye todos los formularios HTML que pueden ser necesarios para la autenticación basada en formularios de acceso al cliente web de Microsoft Exchange.
Forefront TMG admite tres clases de formularios HTML, que se organizan en conjuntos de formularios:
HTML, dirigido a los exploradores estándar.
cHTML, dirigido a los exploradores que admiten cHTML, como los dispositivos móviles i-mode.
xHTML, dirigido a los exploradores que admiten xhtml-mp, como Microsoft Windows Mobile® y otros dispositivos móviles.
Nota
Forefront TMG determina el tipo de formulario que proporcionará a partir del encabezado User-Agent que proporciona el cliente móvil.
Cada conjunto de formularios incluye todos los formularios HTML que los clientes pueden necesitar para la autenticación basada en formularios, como un formulario de inicio de sesión, un formulario del cierre de sesión y formularios SecurID. De forma predeterminada, al crear una nueva escucha de web con la autenticación basada en los formularios HTML como método de autenticación, se selecciona automáticamente un conjunto de formularios. Dependiendo del método de validación de autenticación especificado para la escucha de web, Forefront TMG presenta uno de los siguientes tipos de formularios de inicio de sesión:
Formulario de contraseñas: el usuario escribe un nombre de usuario y una contraseña en el formulario. Estas credenciales son necesarias para la validación de credenciales de Active Directory, Protocolo ligero de acceso a directorios (LDAP) y Servicio de autenticación remota telefónica de usuario (RADIUS).
Formulario de código de acceso: el usuario escribe un nombre de usuario y un código de acceso en el formulario. Estas credenciales son necesarias para la validación de contraseña única para SecurID y RADIUS.
Formulario de código de acceso/contraseña: el usuario escribe un nombre de usuario y un código de acceso, y un nombre de usuario y una contraseña. El nombre de usuario y código de acceso se utilizan para la autenticación para Forefront TMG mediante métodos de autenticación de contraseñas de un solo uso SecurID o RADIUS y el nombre de usuario y contraseña se utilizan para la delegación. Este formulario se utiliza cuando el administrador decide recopilar credenciales adicionales en el formulario.
Después de crear la escucha de web y la regla de la publicación web, puede especificar el uso de un conjunto de formularios diferente. Además, las propiedades de formulario HTML de una regla de publicación web pueden invalidar el conjunto de formularios de su escucha de web. Un conjunto de formularios se determina de una de estas dos formas:
Conjunto de formularios especificado en la escucha de web.
Conjunto de formularios especificado en la regla de publicación web.
Para obtener información sobre cómo crear conjuntos de formularios, vea Crear conjuntos de formularios personalizados.
Directorios de conjuntos de formularios
El directorio \%Directorio de instalación de Forefront TMG%\Templates\CookieAuthTemplates contiene los directorios de formularios de ISA y Exchange que se incluyen con Forefront TMG. Sus subdirectorios inmediatos contienen los directorios de los distintos conjuntos de formularios.
Cada directorio de conjunto de formularios contiene el conjunto de formularios HTML (archivos .htm) completo. Cuando Forefront TMG muestra un formulario HTML, reemplaza los marcadores de posición de los archivos .htm con las cadenas del archivo strings.txt correspondiente a la configuración de idioma del explorador del usuario, que se encuentra en la carpeta de idioma del directorio de idiomas (nls), como se indica a continuación.
Directorio ISA
Cuando se crea una regla de publicación web o una regla de publicación de Microsoft SharePoint, se utiliza automáticamente un conjunto de formularios del directorio ISA.
Directorio Exchange
Cuando se crea una regla de publicación de acceso a correo de cliente web mediante el Asistente para nueva regla de publicación de Exchange, se selecciona automáticamente para esa regla el conjunto de formularios HTML de Exchange. La carpeta de Exchange contiene únicamente el conjunto de formularios HTML. Para usar los conjuntos de formularios cHTML o XHTML para el acceso al cliente web de Exchange, se deben crear los directorios Exchange\cHTML o Exchange\xHTML y, a continuación, copiar el contenido de Exchange\HTML en ellos.
Nota
Para usar el Asistente de publicación de reglas de Exchange, en el árbol de consola de Administración del servidor, haga clic en Directiva de firewall y, a continuación, en la pestaña Tareas, haga clic en Publicar acceso de cliente web de Exchange.
Directorio de idioma
El directorio de idioma, nls, contiene un único subdirectorio con un archivo strings.txt para cada idioma admitido. Cuando Forefront TMG muestra un formulario HTML, reemplaza los marcadores de posición de los archivos .htm con las cadenas del archivo strings.txt del idioma correspondiente al encabezado Accept-Language enviado por el explorador del cliente.
Cuando Forefront TMG no encuentra ninguna coincidencia con el encabezado Accept-Language enviado por el explorador del cliente, Forefront TMG utiliza el archivo strings.txt del directorio del conjunto de formularios predeterminado. Tenga en cuenta que strings.txt es la versión inglesa del archivo.
Permisos de los directorios de conjuntos de formularios
Cuando se instala Forefront TMG, se establecen automáticamente los permisos de los directorios de formularios. Nunca se debería cambiar estos permisos:
Control total: se aplica a los miembros del grupo Administradores local.
Solo lectura: se aplica a la cuenta Servicio de red de modo que Forefront TMG pueda leer el contenido de este directorio cuando se ejecuta bajo la cuenta Servicio de red.
Para conservar la herencia de permisos de la carpeta primaria, se recomienda que copie los archivos en el directorio del conjunto de formularios en lugar de moverlos.
Personalizar los conjuntos de formularios
En algunos casos, puede que desee proporcionar una apariencia diferente a los formularios de algunos sitios web publicados. Cada estilo se define mediante un conjunto de formularios. Puede modificar un conjunto de formularios existente o crear el suyo propio.
En las secciones siguientes se describe:
Personalizar las cadenas de texto
Usar gráficos personalizados
Crear conjuntos de formularios personalizados
Nota
- Al personalizar los formularios, debe mantener todos los campos de formulario originales y todos los marcadores de posición que Forefront TMG reemplaza con campos ocultos. Todas las etiquetas de entrada <input …> y etiquetas de formulario <form…> deben mantenerse sin cambios en los archivos .htm para que los formularios funcionen. Tampoco puede cambiar el formato del archivo strings.txt.
- Las carpetas Exchange e ISA se sobrescriben durante la actualización. Si personaliza los formularios HTML, asegúrese de realizar una copia de seguridad de los archivos actualizados antes de aplicar cualquier revisión, Service Pack o actualización.
- Si ejecuta Forefront TMG Enterprise Edition, debería realizar los cambios de los conjuntos de formularios de Forefront TMG en cada miembro de matriz de Forefront TMG.
- Para que los cambios surtan efecto, debe reiniciar el servicio de Firewall.
- Todos los archivos situados en el directorio de personalización de formularios están accesibles a usuarios anónimos, por lo que no deberían contener información confidencial.
Personalizar las cadenas de texto
Cuando Forefront TMG muestra un formulario HTML, reemplaza los marcadores de posición de los archivos .htm con las cadenas del archivo strings.txt del idioma especificado en la configuración de idioma del explorador del cliente o tal y como se especifique en la escucha de web. La personalización de cadenas de texto se realiza mediante la modificación de las cadenas del archivo strings.txt que corresponden a los marcadores de posición de los archivos .htm.
Nota
- Antes de personalizar el contenido del archivo strings.txt, se recomienda que realice una copia de seguridad del archivo strings.txt que está modificando.
- Debe codificar correctamente cualquier cadena que modifique o agregue de modo que cumpla la sintaxis HTML. El carácter
<
no puede estar incluido en la cadena y se debe reemplazar con<
. Además, para incluir una comilla, debe utilizar la comilla sencilla en lugar de la comilla doble.
En el siguiente ejemplo se muestra cómo cambiar la cadena de texto correspondiente a la entrada de nombre de usuario de la página de inicio de sesión estándar de "Domain\user name:" a "Alias:".
Para cambiar el texto de la entrada del nombre de usuario en la página de inicio de sesión estándar
Abra el archivo strings.txt de la carpeta de idioma correspondiente del directorio nls.
Encuentre la cadena que coincide con el marcador de posición
@@L_username_ text
. La cadena aparece en el archivo strings.txt de este modo:L_UserName_Text="Domain\User name:"
.Cambie la cadena de texto a
L_UserName_Text="Alias:"
.Guarde el archivo strings.txt. Cuando se genere el formulario HTML, el nuevo valor de
@@L_username_text
se mostrará en el formulario.Para que los cambios surtan efecto, reinicie el servicio Microsoft Firewall.
Además de modificar cadenas de texto, puede agregar nuevas cadenas a un formulario. En el siguiente ejemplo se muestra cómo agregar una cadena a un formulario.
Para agregar una cadena a un formulario
Abra el archivo .htm.
Agregue un marcador de posición para la cadena y guarde el archivo. El marcador de posición debe tener el formato
@@L_stringname
. El marcador de posición no puede contener espacios.Guarde el archivo .htm.
Agregue la cadena correspondiente al archivo strings.txt. La cadena se debe escribir con el formato
L_stringname="string text"
.Guarde el archivo strings.txt.
Para que los cambios surtan efecto, reinicie el servicio Firewall. Cuando se genere el formulario HTML, el valor de
@@L_stringname
se mostrará en el formulario.
Consideraciones acerca de la seguridad
Si proporciona el archivo strings.txt a un tercero para su modificación, compruebe que no se haya agregado nada que no sea texto al archivo, ya que las redes podrían ser vulnerables a ataques.
Usar gráficos personalizados
Puede reemplazar un gráfico en un formulario concreto o reemplazar globalmente un gráfico en todos los formularios para que el cambio aparezca en todos los archivos .htm que hagan referencia a ese gráfico.
Todos los gráficos que Forefront TMG utiliza en los formularios HTML están situados en los directorios de formularios predeterminados (ISA y Exchange). La dirección URL utilizada para hacer referencia a los gráficos se escribe del modo que se indica a continuación, siendo <nombre de archivo> el nombre del archivo con su extensión: /cookieauth.dll?GetPic?formdir=@@FORMDIR&image=<nombre de archivo>.
En el siguiente ejemplo se muestra cómo reemplazar el gráfico del logotipo <lgntop.gif> con el logotipo de su compañía <logo.gif>; en el ejemplo se muestra cómo modificar un formulario del directorio HTML.
Para reemplazar el gráfico del logotipo
Copie logo.gif al directorio del conjunto de formularios \%Directorio de instalación de Forefront TMG%\Templates\CookieAuthTemplates\ISA\HTML.
Abra el archivo .htm que incluye el gráfico que desea reemplazar.
Modifique la dirección URL del gráfico, reemplazando el nombre de archivo existente <lgntop.gif>. La dirección URL modificada es: /cookieauth.dll?GetPic?formdir=@@FORMDIR&image=logo.gif.
Guarde el archivo.
Para que los cambios surtan efecto, reinicie el servicio Firewall. Cuando se genere el formulario, logo.gif se mostrará en el formulario.
Como alternativa, para reemplazar un gráfico en todos los formularios globalmente, copie su gráfico en el directorio de formularios utilizando el nombre de archivo del gráfico que va a reemplazar.
Crear conjuntos de formularios personalizados
Puede proporcionar formularios personalizados con el fin de especificar un directorio para los formularios que no sea el directorio ISA o Exchange que proporciona Forefront TMG. Por ejemplo, considere un escenario en el que vaya a publicar el acceso de cliente web para dos compañías diferentes y desea que cada compañía tenga su propio logotipo en la página, así como otras cadenas de texto personalizadas.
En el siguiente procedimiento se describe cómo proporcionar formularios personalizados para este ejemplo.
Para proporcionar formularios personalizados
Cree una nueva carpeta en el directorio \CookieAuthTemplates\; por ejemplo, \%Directorio de instalación de Forefront TMG%\Templates\CookieAuthTemplates\Company1.
Copie el contenido de la carpeta ISA o Exchange en la nueva carpeta que creó. Si tiene únicamente exploradores estándar, solo necesita copiar la carpeta HTML.
Personalice el formulario en el directorio copiado. Realice cambios de texto en el archivo strings.txt de la carpeta de idioma correspondiente o reemplace los archivos gráficos. No cambie ninguno de los elementos de formulario HTML, como <FORM> e <INPUT>.
Para que los cambios surtan efecto, reinicie el servicio Firewall.
Para aplicar el nuevo conjunto de formularios a una escucha de web, especifique el nombre de directorio en la pestaña Formularios de la escucha de web. Proporcione únicamente el nombre del directorio, como Company1, no la ruta de acceso completa. Como alternativa, para aplicar el nuevo conjunto de formularios a una regla de publicación web, en la pestaña Configuración de la aplicación de la regla, habilite la casilla Usar formularios HTML personalizados y proporcione el nombre del directorio.
Para asegurarse de que los formularios solo se muestran en un idioma concreto, en la pestaña Formularios de la escucha de web, bajo Mostrar el formulario HTML en este idioma, seleccione el idioma. Por ejemplo, para asegurarse de que un formulario sólo se muestra en inglés, sin tener en cuenta la configuración del explorador cliente, seleccione Inglés [en].
Repita el procedimiento para la segunda compañía (Company2).
Haga clic en Aplicar de la barra Aplicar cambios para actualizar la configuración.
Nota
Si ejecuta Forefront TMG Enterprise Edition, el directorio de formularios debe aparecer en todos los miembros de matriz de Forefront TMG.
Configuración de idioma
De forma predeterminada, Forefront TMG genera los formularios HTML utilizando el archivo strings.txt de la carpeta de idioma especificada en la opción Idiomas de las opciones de Internet del explorador cliente. Puede invalidar la configuración de idioma del cliente especificando un idioma en la escucha de web. Además, si Forefront TMG no encuentra el archivo strings.txt que corresponde a la configuración de idioma, utilizará el archivo strings.txt predeterminado.
Nota
El idioma del archivo strings.txt del directorio predeterminado es el inglés. Para cambiar el idioma del archivo strings.txt predeterminado, reemplácelo con el archivo strings.txt de cualquiera de las carpetas de idioma.