12-11-2017 12:31 PM
Hola, antes de nada agradecer a todos vuestra colaboración, he utilizado mucha ayuda de esta web para mi instalación de Alfresco y espero algún día poder ayudar a otros usuarios. Tengo un problema que no he podido solucionar y me gustaría saber si es posible.
Tengo instalado Alfresco Community Edition General Release 201711
He configurado mi alfresco-global.properties para que puedan acceder mis usuarios ya registrado en Active Directory, esta es mi configuración:
authentication.chain=alfrescoNtlm1:alfrescoNtlm,ldap1:ldap
ldap.authentication.active=true
ldap.authentication.java.naming.provider.url=ldap://XXX.XXX.XXX.XXX:389
ldap.authentication.userNameFormat=%s@XXX.es
ldap.synchronization.active=false
Entran perfectamente con su usuario y contraseña, y se crea las credenciales en Alfresco
Mi pregunta es la siguiente, ¿Seria posible que una vez creados los usuarios en Alfresco provenientes de LDAP los pudiera meter automáticamente en un solo grupo, por ejemplo "PUBLICO" y asignarles una cuota predefinida, por ejemplo 1000 MB?
Gracias
12-12-2017 08:20 AM
Creo que sería mejor utilizar un Behaviour Java, pero probablemente un simple script JS sea más útil.
Crea un fichero setGroupAndQuota.js en la carpeta Repositorio > Data Dictionary > Scripts con el siguiente contenido:
var userName = document.properties["cm:name"];
var group = people.getGroup("GROUP_PUBLICO");
var user = people.getPerson(userName);
people.addAuthority(group, user);
people.setQuota(user, "10240000"); // 10 MB
Crea una regla en Repositorio > User Homes
Cada vez que se cree un usuario, se establecerán las propiedades. No obstante, esto se aplicará tanto a usuarios de LDAP como a usuarios locales.
12-12-2017 09:02 AM
Para Alfresco grupos, roles y usuarios son "autoridades", por eso...
12-12-2017 09:08 AM
var userName = document.properties["cm:name"];
var group = people.getGroup("GROUP_PUBLICO");
var user = people.getPerson(userName);
people.addAuthority(group, user);
people.setQuota(user, "1073741824"); // 1 GB
Correcto, pude entrar con el usuario, se creo, y se incluyo en el grupo PUBLICO
Pero no registro la cuota de usuario correctamente
Adjunto captura
12-12-2017 09:16 AM
Acabo de pegar este mismo script
var userName = document.properties["cm:name"];
var group = people.getGroup("GROUP_PUBLICO");
var user = people.getPerson(userName);
people.addAuthority(group, user);
people.setQuota(user, "1073741824"); // 1 GB
en una CE 201707 y funciona sin problemas.
¿Algún error en tu log?
12-12-2017 09:23 AM
Creando el usuario desde las herramientas de administración si funciona todo correctamente
Pero cuando crea el usuario desde el login de un usuario del LDAP solo funciona ponerse el grupo, la cuota se queda vacía
En el log de errores no aparece nada
12-12-2017 10:44 AM
Correcto, acabo de replicar el comportamiento que describes. Probablemente el ciclo de creación de esa carpeta home es diferente para la sincronización por LDAP y en ese momento las propiedades están protegidas (immutables).
Quizá sea posible lanzar el Script para que actúe en otro momento en el caso de LDAP...
12-14-2017 06:32 AM
He estado buscando otras situaciones donde poder utilizar el Script pero no he encontrado alguna que funcione correctamente.
Como seria hacerlo con Behaviour?
12-14-2017 06:35 AM
Yo también le di alguna vuelta y no encontré tampoco la combinación.
Tienes un ejemplo de un behaviour Java que "hace cosas" cuando se crea un usuario aquí: https://github.com/keensoft/alfresco-user-space-template/blob/master/user-space-template-repo/src/ma...
Y aquí tienes cómo programar un behaviour: Alfresco Learning - Programming a Behavior (Spanish) - YouTube
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.