cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco Share y SSO

unknown-user
Champ on-the-rise
Champ on-the-rise
Para que el acceso a Alfresco share se realice mediante SSO he desarrollado un filtro que intercepta todas las peticiones y las redirige a un servidor de autenticación. Hasta aquí todo funciona correctamente.
Este filtro cuando el usuario introducido no está en la base de datos de Alfresco lo crea y lo utiliza para iniciar sesión. Aquí viene mi problema, para crear el usuario y hacer login necesito acceder a los servicios de Alfresco (AuthenticationService, PersonService, NodeService…).

Intento recuperarlos del contexto:
WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(context);
ServiceRegistry serviceRegistry = (ServiceRegistry) ctx.getBean(ServiceRegistry.SERVICE_REGISTRY);

Esto no funciona ya que el ServiceRegistry no está definido en el contexto del share. Si el filtro lo pongo en Alfresco explorer esto funciona perfectamente.

¿Como puedo acceder a dichos servicios desde el filtro que tengo en el share? si esto no es posible, que alternativas tengo para poder acceder al share mediante sso?

Gracias.
5 REPLIES 5

aperales
Champ in-the-making
Champ in-the-making
Buenas rcr,

El filtro que has definido funciona en Alfresco repository únicamente, como tú mismo estás comentando.
Alfresco Share actúa como un cliente de Alfresco, desde su construcción inicial, está pensado para alojarlo en un servidor externo a Alfresco, por ello tiene un contexto independiente por completo.

En la wiki tienes esto:
http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems#Alfresco_Share_SSO_using_NTLM

un saludo!

unknown-user
Champ on-the-rise
Champ on-the-rise
Hola aperales,

el protocolo NTLM no me sirve. El servidor de autenticación al que tengo que conectarme es un ADAS que soporta el protocolo PAPIFilter entre otros.

Gracias de todas maneras.

aperales
Champ in-the-making
Champ in-the-making
Ok,

He estado mirando qué es eso de adAS, porque no lo había oído hablar de este SSO. Según parece ha sido desarrollado por la empresa PRISE, para la Universidad de Salamanca, de ahí que no localices mucha documentación por el momento.
http://www.rediris.es/jt/jt2010/ponencias/jt2010-jt-serv_feder_1-3.pdf

En vista de la particularidad del asunto, yo plantearía entonces dos filtros: el que tienes actualmente es para Alfresco Explorer y tienes que hacer uno nuevo para Alfresco Share.
El filtro para Alfresco Share debe crear al usuario haciendo uso de los servicios remotos que Alfresco dispone para ello. Tienes dos opciones:
   - WebServices API.
   - RESTful API.
Yo, al igual que muchos otros, apuesto por utilizar servicios REST para crear y autenticar al usuario recién creado. Concretamente te hablo de este servicio:
http://wiki.alfresco.com/wiki/Repository_RESTful_API_Reference#Add_Person


Saludos!

aperales
Champ in-the-making
Champ in-the-making
Un compañero del foro ha publicado un problema con la codificación de caracteres al dar de alta personas en Alfresco. Puedes echarle un vistazo a su código, a modo de ejemplo de lo que te propongo en mi anterior post.
https://forums.alfresco.com/es/viewtopic.php?f=11&t=3965

saludos!

unknown-user
Champ on-the-rise
Champ on-the-rise
Intentaré hacerlo mediante servicios REST como me indicas.

Gracias.