ADC
Gracias por los comentarios

Este artículo ha sido traducido automáticamente. (Aviso legal)

Establecer una cookie mediante nFactor

Puede aplicar las etiquetas personalizadas de nFactor y configurar una cookie como factor del flujo de autenticación. Mediante etiquetas personalizadas, puede utilizar JavaScript para manipular el esquema de inicio de sesión.

Para establecer una cookie como factor, no es necesario mostrar ninguna información al usuario, que se realiza con un inicio de sesión sin esquema. En su lugar, debe interactuar con el explorador del usuario para indicar al esquema de inicio de sesión que almacene los datos deseados. Se requiere un esquema de inicio de sesión para establecer la cookie cuando se carga la página. La cookie se configura con una etiqueta personalizada y un código JavaScript.

Para implementar un factor que establezca una cookie, cree un archivo XML llamado cookie.xml para almacenar el esquema en el directorio /nsconfig/loginschema/ con el siguiente contenido:

<?xml version="1.0" encoding="UTF-8"?> <AuthenticateResponse xmlns="http://citrix.com/authentication/response/1"> <Status>success</Status> <Result>more-info</Result> <StateContext></StateContext> <AuthenticationRequirements> <PostBack>/nf/auth/doAuthentication.do</PostBack> <CancelPostBack>/nf/auth/doLogoff.do</CancelPostBack> <CancelButtonText>Cancel</CancelButtonText> <Requirements> <Requirement> <Credential><ID>nsg_cookie</ID><Type>nsg_cookie</Type></Credential> <Label><Text>Logon Type:</Text><Type>Plain</Type></Label> </Requirement> <Requirement> <Credential><ID>loginBtn</ID><Type>none</Type></Credential> <Label><Type>none</Type></Label><Input><Button>Log On</Button></Input> </Requirement> </Requirements> </AuthenticationRequirements> </AuthenticateResponse>

En este XML;

  • La etiqueta personalizada nsg_cookie se usa para crear la cookie y enviar el formulario y el botón del formulario.
  • El RfWebUI_custom es el nuevo tema del Portal basado en el tema RfWebUI.
  1. Cree un tema del portal basado en el tema RfWebUI.

    add vpn portaltheme RfWebUI_custom -basetheme RfWebUI

    Este comando crea una carpeta para este tema en /var/netscaler/logon/themes/RfWebUI_custom

  2. Edite el archivo /var/netscaler/logon/themes/RfWebUI_custom/script.js y añada el siguiente script:

    CTXS.ExtensionAPI.addCustomCredentialHandler({ // The name of the credential, must match the type returned by the server getCredentialTypeName: function () { return "nsg_cookie"; }, // Generate HTML for the custom credential getCredentialTypeMarkup: function (requirements) { var div = $("<div></div>"); $(document).ready(function() { //Set cookie valid for 1000 days var exdays = 1000; var d = new Date(); d.setTime(d.getTime() + (exdays\*24\*60\*60\*1000)); var expires = "expires="+ d.toUTCString(); document.cookie = "NSC_COOKIE_NAME=CookieValue;" + expires + ";path=/"; //Submit form document.getElementById('loginBtn').click(); }); return div; } });

    Este código realiza lo siguiente:

    • Espera a que el navegador termine de cargar la página
    • Establece una cookie llamada NSC_COOKIE_NAME con el valor CookieValue, válido durante 1000 días
    • Envía automáticamente el formulario.

    La cookie se crea y el usuario no necesita interactuar con la página.

  3. Cree un esquema de inicio de sesión para vincularlo a la etiqueta de directiva que representa el factor de cookie establecido.

    add authentication loginSchema Cookie_LS -authenticationSchema "/nsconfig/loginschema/cookie.xml"
  4. Cree una directiva de autenticación NO_AUTHN para enlazarla a la etiqueta de directiva que representa el factor de cookie establecido.

    add authentication Policy NO_AUTHN_POL -rule TRUE -action NO_AUTHN

    Esta directiva siempre se evalúa como verdadera, lo que lleva al usuario al siguiente factor o completa el flujo de autenticación.

  5. Enlazar el tema del portal RfWebUI_Custom al servidor virtual NetScaler Gateway o al servidor virtual AAA de NetScaler.

La versión oficial de este contenido está en inglés. Para mayor comodidad, parte del contenido de la documentación de Cloud Software Group solo tiene traducción automática. Cloud Software Group no puede controlar el contenido con traducción automática, que puede contener errores, imprecisiones o un lenguaje inadecuado. No se ofrece ninguna garantía, ni implícita ni explícita, en cuanto a la exactitud, la fiabilidad, la idoneidad o la precisión de las traducciones realizadas del original en inglés a cualquier otro idioma, o que su producto o servicio de Cloud Software Group se ajusten a cualquier contenido con traducción automática, y cualquier garantía provista bajo el contrato de licencia del usuario final o las condiciones de servicio, o cualquier otro contrato con Cloud Software Group, de que el producto o el servicio se ajusten a la documentación no se aplicará en cuanto dicha documentación se ha traducido automáticamente. Cloud Software Group no se hace responsable de los daños o los problemas que puedan surgir del uso del contenido traducido automáticamente.
Establecer una cookie mediante nFactor