|
Indice
| Temas Recientes
| Quién Está en Línea
| Lista de Usuarios
| Nuevo Usuario
| Búsqueda
| Ayuda
| ![]() |
![]() |
mvnForum » Listar todos los foros » Foro: General OpenCms 8 » Tema: Autenticación de usuarios |
Estado del tema: Normal Total de mensajes en este tema: 5 |
[Añadir a Mis Favoritos] [Añadir un aviso a este tema] [Publicar nuevo tema] |
Autor |
|
![]() Member
|
Hola, necesito integrar mi portal con un sistema de usuarios y contraseña externo. Eso lo tengo ya montado, comprueba a través de un Web service mío que el usuario existe y que tiene permiso de acceso para el portal. El problema viene que para que entre en la administración de OpenCMS tengo que hacer algo como: user = super.readUser(dbc, "idUsuarioOpenCMS"); super.writeUser(dbc, user); para lo que tengo que tener un usuario en OpenCMS creado con idUsuarioOpenCMS como identificador de usuario. ¿cómo puedo hacer para evitar tener que tenerlo duplicado y poder llevar a cabo la gestión de grupos y permisos con los usuarios de mi sistema externo? |
||
|
![]() Administrador España Ingresó: 27-sep-2006 Mensajes: 2470 Estado: Desconectados |
La mejor forma para implementar esto que comentas es modificar el driver de usuarios. Es una clase que se configura en el opencms-system.xml y donde tienes que ponerle una propia que extienda de la de OpenCms pero que haga el login contra otra BBDD o contra un WS o contra lo que quieras. Si lo que tienes es un LDAP puedes usar el módulo de pago del OCEE para eso y lo tendrías todo integrado. ---------------------------------------- --------------------------------------------------- Sergio Rapos Vargas. Administrador de OpenCmsHispano. sergio.raposo@opencmshispano.es |
||
|
![]() Member
|
Eso ya lo tengo. Tengo una clase que estiende a CMSUserDriver ExternalAuthenticationCmsUserDriver extends CmsUserDriver { @Override public CmsUser readUser(CmsDbContext dbc, String userFqn, String password, String remoteAddress) throws CmsDataAccessException, CmsPasswordEncryptionException { } pero al hacer este override, tengo que devolver un CmsUser, de ahí mi duda... ¿qué devuelvo si mi usuario no va a estar en el directorio de usuarios de OpenCMS? |
||
|
![]() Member
|
Y por otro lado, ¿cómo se gestionan los grupos y los permisos de acceso con una autenticación así? |
||
|
![]() Administrador España Ingresó: 27-sep-2006 Mensajes: 2470 Estado: Desconectados |
Lo que se suele hacer es en el momento del login, mirar si el usuario existe en OpenCms, y si no lo creas. Se suelen tener duplicado en OpenCms los usuarios, de forma que puedas hacer login en OpenCms y tener un CmsUser, aunque realmente la gestión se deriva todo al otro sistema. Ya te tienes que programar un sistema de mantener relacionado todo, aunque en OpenCms solo necesitas tener el username y el password que perfectamente puede ser el mismo para todos, ya que tu lo vas a validar realmente en el otro sistema. Saludos! ---------------------------------------- --------------------------------------------------- Sergio Rapos Vargas. Administrador de OpenCmsHispano. sergio.raposo@opencmshispano.es |
||
|
[Versión imprimible] [Publicar nuevo tema] |