cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco no reconoce en la url el TICKET enviado

angel_sanchez
Champ in-the-making
Champ in-the-making
Un saludo cordial a esta comunidad; para realizar peticiones a funcionalidades de Alfresco que requieres una autorización, tiene el manejo de TICKET para la autenticacion y autorización. Se debe realizar un llamado a la siguiente url;

// Peticion
http://<ip_servidor_alfresco>:8181/alfresco/service/api/login?u=xxxx&pw=XXXX


// Respuesta
<ticket>TICKET_77e574d9af99f679e95520b038dc100b565f61c8</ticket>


Y se utiliza el ticket generado en la url de la petición; Se realizaron pruebas para verificar el acceso de un documento no tomaba el ticket generado.

Un Ejemplo de como usarlo:
http://<ip_servidor_alfresco>:8181/alfresco/service/api/login/ticket/TICKET_77e574d9af99f679e95520b038dc100b565f61c8



Pero desde la url en el navegador requería autenticarse; y no reconocía el ticket generado.


Documento de Referencia
<a>http://docs.alfresco.com/community5.0/tasks/ws-specify-user-identity.html</a>

Ambiente
Alfresco 5.0.d
Tomcat 7.0.61
CentOS 6.6

De que forma puedo por medio de un link; abrir una nueva pestaña si estoy en una aplicación, un documento de alfreco (utilizando el previsualizador de share)?
17 REPLIES 17

angelborroy
Community Manager Community Manager
Community Manager
La expresión "${el}" es dinámica, es un recurso de FreeMarker.

Cuando la página se renderiza es traducido por una expresión concreta. Si ves el código HTML de la página una vez renderizada, podrás identificar qué códigos está asignando a los campos y al botón.
Hyland Developer Evangelist

Hola Ángel Buen Día,

Tienes alguna idea de como puedo accedes al valor de esos 2 campos?, he intentado de las siguientes maneras:

var Dom = YAHOO.util.Dom;
var us = Dom.get(this.id+"-username");
us.value = "prueba";

Dom.get(this.id+"-username").set("value","prueba");

document.getElementById("-username").value = Validate_url()["USER"];


Pero din éxito alguno.

Quedo al pendiente de tus comentarios.
Saludos Cordiales.



angelborroy
Community Manager Community Manager
Community Manager
Como te decía, lo mejor es que consultes el código fuente de la página renderizada. En mi caso el control tiene el id
page_x002e_components_x002e_slingshot-login_x0023_default-username
.

Adjunto el pantallazo para Chrome, no obstante en cualquier navegador es posible acceder al código fuente HTML.
Hyland Developer Evangelist

luisbarrera
Champ in-the-making
Champ in-the-making
Ya he consultado el codigo que genera y con el mismo he probado acceder de la siguiente manera:

document.getElementById("page_x002e_components_x002e_slingshot-login_x0023_default-username").value = "valor";

pero no asigna el valor al campo, tambien he probado de la siguiente forma:

var Dom = YAHOO.util.Dom;
var us = Dom.get("page_x002e_components_x002e_slingshot-login_x0023_default-username");
us.value = "prueba";

Quedo al pendiente de tus comentatios.
Saludos.

angelborroy
Community Manager Community Manager
Community Manager
No sé desde dónde estás ejecutando ese JavaScript, pero debería funcionar.

Revisa éste enlace para entender cómo funciona esta página http://www.ecmtree.com/2016/03/behind-scenes-of-alfresco-share-login.html
Hyland Developer Evangelist

luisbarrera
Champ in-the-making
Champ in-the-making
Buena Tarde Angel,

El código Js lo estoy ejecutando desde el archivo "login.get.html.ftl", te comento; se esta validando desde donde se loguea el cliente y se manda por URL una bandera para simular un auto-login, toda la logica la esta ejecutando sin problemas pero al momento de asignar los valores a los campos de texto y hacer el onclick automatico del botón no funciona " document.getElementById("page_x002e_components_x002e_slingshot-login_x0023_default-username").value = "valor"; "

Quedo al pendiente de tus comentarios.
Saludos.

angelborroy
Community Manager Community Manager
Community Manager
Prueba a hacer tus modificaciones en la capa JS cliente (
alfresco/tomcat/webapps/share/components/guest/login.js
), te será mucho más fácil.
Hyland Developer Evangelist

luisbarrera
Champ in-the-making
Champ in-the-making
Hola Ángel Buen Día,

Intente desde el archivo Js que me sugeriste sin exito alguno, segui intentando desde el archivo "login.get.html.ftl" y detecte los siguiente:

Logre asignar el valor con el codigo: document.getElementsByName("username").Value   = "valor";
pero no lo muestra en pantalla, para comprobar que el valor fue asignado lo mostrar en la consola del depurado del explorador con lo siguiente:
console.log( document.getElementsByName("username") );
pero no se asigna el valor como se muestra en las imagenes adjuntas.

Quedo al pendiente de tus comentarios.
Saludos