AnsweredAssumed Answered

Autenticación por DNI electrónico

Question asked by ajv on Jul 24, 2011
Latest reply on Jul 28, 2011 by ajv
Hola a todos!

Llevo unos días metido en permitir la autenticación a usuarios de Alfresco por DNI electrónico, ya que creo que a estas alturas debería ser algo extendido por todas las administraciones/empresas que usan Alfresco. De hecho, si lo consigo/conseguimos sacaré un hueco para dejarlo como una mini-guía o similar de forma que cualquier pueda tunear su Alfresco para permitir este tipo de acceso.


El tema es que tengo un java web script que es capaz de leer el certificado del DNIe (tras solicitar el PIN). El webscript es capaz de determinar si se trata de un DNIe, verifica que el certificado es válido a día de hoy mediante OCSP y, si existe un usuario con ese DNI como username en Alfresco, realiza la autenticación.

Ahora bien, se me está "atragantando" el tema de decirle a Alfresco: "A partir de ahora, redirige a la página principal de Share autenticado como XXXX" (donde XXXX representa al userName del DNIe y, lógicamente, sin proporcionar el password ya que con haber validado el certificado de autenticación del DNIe debería ser suficiente).
He hecho pruebas utilizando un authenticationComponent personalizado que acepta todas las peticiones (saqué la idea del org.alfresco.repo.security.authentication.SimpleAcceptOrRejectAllAuthenticationComponentImpl), también inyectando el authenticationService de Alfresco y con el AuthenticationUtil.setFullyAuthenticatedUser(userName), pero nada de nada. La cuestión es que consta como autenticado ese usuario en el controlador del java web script, pero se pierden las credenciales en cuanto finaliza el webscript. Ni redirige a la página principal de Share ni mantiene las credenciales…

¿Alguien tiene alguna idea de cómo abordar esto sin necesidad de recurrir a un servicio CAS (y sin comprometer la seguridad del sistema jeje)??
Venga, saludos y feliz verano!

Outcomes