2011-04-08 7 views
8

¿Cuáles son las posibles soluciones a un problema de redirección que ocurre cuando se intentan hacer llamadas AJAX a un recurso protegido con CAS y encriptado con SSL ubicado en un servidor diferente al servidor CAS?Cómo superar problemas entre dominios para llamadas Ajax a recursos protegidos por CAS?

El servidor CAS se utiliza para la autenticación y se comporta como se diseñó. Este problema parece ser específico de AJAX.

Hay una pregunta similar here, pero no podemos usar el mismo dominio/servidor/puerto para el servidor CAS y el recurso de back-end.

Las listas de correo JASIG CAS mencionan el uso de JSESSIONID.

Otro posible enfoque es modificar el filtro CAS para cambiar el comportamiento predeterminado del ticket caducado a algo más robusto.

¿Qué patrón de diseño usaría para solucionar este problema?

Respuesta

0

Nunca escuché sobre CAS, pero en general: Javascript tiene alguna restricción llamada "misma política de origen". Un recurso visible no es automáticamente visible para Javascript, también. ¿Intentó acceder al recurso utilizando un proxy inverso para hacerlo disponible dentro del mismo dominio? También podría considerar apuntar su dominio a un servidor web separado e incluir ambos servidores como proxies inversos (para Tomacat, JKmounts son preferibles) aquí.

1

tengo 2 sugerencias:

  • puedo configurar un script de proxy en el mismo dominio como el que contiene el código JS? De esta forma, la secuencia de comandos proxy podría consultar el CAS y devolver los resultados deseados
  • ¿puede habilitar JSONP? este tipo de solicitud no está limitado por la política de seguridad (pero cualquiera podría usar el servicio)
+0

+1 pero para mí, solo el script proxy es viable, en este caso. –

Cuestiones relacionadas