11-15-2016 01:16 PM
Buenas tardes a todos
Estamos intentando crear un archivo JS para que desde una web podamos obtener un ticket de autenticación en nuestro Alfresco 4.2. Estamos intentando utilizar la api de REST mediante un script realizando esta llamada
function getTicket(login,password, numDoc, clave)
{
var urlTicket="http://urlAlfresco/service/api/login?u="+login+"&pw="+password;
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", urlTicket, false ); // false for synchronous request
xmlHttp.setRequestHeader('Access-Control-Allow-Headers', '*');
xmlHttp.setRequestHeader('Access-Control-Allow-Origin', '*');
xmlHttp.onload = function() {
var requestData = xmlHttp.responseText;
var ticket = "";
if ((requestData!=='')&&(requestData!==NULL)){ticket = requestData.toString().substring(47,94);}
if (ticket!=="")
{
window.location.href = "http://urlAlfresco/service/showContent?nFact="+numFact+"&cPro="+CIF+"&alf_ticket="+ticket;
}
}
xmlHttp.onerror=function(){alert("No funciona");};
xmlHttp.send(null);
}
El problema es que la llamada para hacer el request (GET) de la función http://urlAlfresco/service/api/login nos falla y no nos da respuesta. (Hemos intentado el método POST) pero nos da el mismo fallo.
Hemos leido por ahí que parece ser que hay un problema con la configuración CORS y la versión de Alfresco 4.2 que estamos utilizando. Pero aunque hemos aplicado los filtros en el fichero web.xml que hemos encontrado en otros foros, sigue sin funcionarnos.
Nosotros lo que pretendemos es que un tercer sistema independiente pueda enviar una llamada a una URL desde JavaScript introduciendo como parámetros el login y password del usuario, y los metadatos del archivo almacenado en Alfresco y que este se descargue o muestre en el navegador (son todos PDF's).
Si no podemos utilizar el método http://urlAlfresco/service/api/login, ¿Qué opciones nos quedan para poder obtener esto que pretendemos conseguir?.
¿Es posible conseguir esto en Alfresco 4.2?
11-17-2016 10:37 AM
Hagamos una recopilación a ver si encontramos una solución:
Bajo mi punto de vista la solución más sencilla sería montar un Apache delante del Tomcat de Alfresco y establecer en ese Apache de manera genérica la cabecera que os permitirá saltaros la restricción:
Header set Access-Control-Allow-Origin "*"
11-17-2016 11:17 AM
Por cierto, ahora he recordado el mecanismo que se usaba en 4.2.
Quizá esto te sirva de ayuda: Introducing the CSRFPolicy in Alfresco Share | Erik Winlöf's blog
12-01-2016 02:15 PM
Gracias por la ayuda,
Al final después de probar mil y una cosa diferente hemos tenido que improvisar. Utilizando los WebService de Alfresco recuperamos el ticket y una vez lo tenemos llamamos al WebScript para mostrar el documento. No es la manera más idónea ni cómoda de trabajar pero nos soluciona el problema de momento.
Un saludo.
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.