16.10.2014 Views

Blackboard Academic Suite™ Manual del administrador

Blackboard Academic Suite™ Manual del administrador

Blackboard Academic Suite™ Manual del administrador

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Blackboard</strong> <strong>Academic</strong> Suite<br />

<strong>Manual</strong> <strong>del</strong> <strong>administrador</strong><br />

Cómo decodificar un contexto codificado<br />

Descripción general<br />

Para codificar datos durante la transferencia de contexto, el <strong>Blackboard</strong> Learning<br />

System y el URL externo deben tener acceso a la misma clave de codificación de<br />

contexto. La clave debe crearse desde la función Administrar clave de codificación de<br />

contexto, disponible en el Panel de administración. Después de crearse, la clave se<br />

debe descargar y distribuir a los servidores externos que aceptarán el contexto.<br />

Ejemplo de código<br />

Después de descargar una clave de codificación de contexto, ésta debe establecerse<br />

como disponible para el URL que recibirá los datos codificados a través de la<br />

transferencia de contexto. El ejemplo de código que figura a continuación muestra<br />

cómo decodificar programáticamente datos de contexto codificados en el URL externo<br />

cuando son transferidos.<br />

El objeto indicado por el URL de destino (en este caso, index.jsp) podría decodificar el<br />

contexto de la siguiente manera (importando blackboard.client.decryption.*):<br />

Contexto en cadena = request.getParameter(“contexto”);<br />

//si isEncryptionEnabled = falso, se utilizará la codificación base 64 en<br />

lugar de<br />

//la codificación<br />

específica (booleana) isEncryptionEnabled = verdadero;<br />

ContextDecryptor bfd =<br />

ContextDecryptorFactory.getContextDecryptor(isEncryptionEnabled );<br />

// recupere la clave de codificación de <strong>Blackboard</strong> como un archivo o<br />

InputStream<br />

Clave de archivo = archivo nuevo ( strKeyLocation );<br />

// o clave InputStream = // detalle de implementación…<br />

// para decodificar en forma simple la cadena de contexto:<br />

Cadena decryptedContext = bfd.decrypt (contexto, clave );<br />

// o, para obtener un HashMap de todos los pares clave-valor<br />

mapa HashMap = bfd.parseEncryptedContext (contexto, clave );<br />

// entonces buscar el HashMap de un valor esperado, y continuar.<br />

si (map.containsKey(“usuario” )<br />

{ // ejecutar…<br />

}<br />

Cómo resolver varias claves<br />

El ejemplo de código que figura anteriormente es útil cuando existe una relación uno a<br />

uno entre el URL y el <strong>Blackboard</strong> Learning System. En los casos en que un URL<br />

externo se relaciona con un Building Block en varias instancias <strong>del</strong> <strong>Blackboard</strong><br />

Learning System, es posible utilizar el nombre de host de la instancia para manejar<br />

varias claves.<br />

En el ejemplo que figura a continuación, la clave se encuentra a través de la<br />

asociación con el nombre de host de la instancia o instalación virtual <strong>del</strong> <strong>Blackboard</strong><br />

Learning System. En este caso el nombre de host es fisica.suinstitucion.com. Debido<br />

a que el código de decodificación cliente tiene la posibilidad de transferir una clave de<br />

decodificación al objeto ContextDecryptor, el servidor cliente debe poder asignar un<br />

nombre de host a la clave apropiada (a la que generalmente se accede como a un<br />

archivo, pero que puede ser una InputStream).<br />

Los programadores <strong>del</strong> servidor de Building Block pueden escribir un simple<br />

empaquetador que:<br />

© 2004 <strong>Blackboard</strong> Inc. Propiedad intelectual y confidencial página 208

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!