Page 1 of 1

usuarios LDAP

PostPosted:Wed Jan 03, 2018 10:59 am
by owenzarro
Buenas,
he conseguido configurar LDAP en OPENKM Comunity pero solo me carga 1000 usuarios cuando tengo muchos mas.
Hay algun limite? Puedo saltarme ese limite?

Un saludo y gracias de antemano

Re: usuarios LDAP

PostPosted:Wed Jan 03, 2018 4:25 pm
by jllort
El problema lo tienes en el AD de microsoft que limita el número máximo de resultados a 1000, tienes que localizar el parámetro de configuración del AD para que te salgan más resultados. Todos los usuarios van a tener acceso a OpenKM, por que lo suyo es que sólo aparezcan aquellos que realmente van a logearse, fíjate en el ejemplo de esta sección de la documentación como estamos haciendo un filtrado por aquellos usuarios que son miembros de ROLE_USER y de ROLE_ADMIN ( https://docs.openkm.com/kcenter/view/ok ... roles.html ), estos grupos obviamente han sido creados en el AD.

Re: usuarios LDAP

PostPosted:Fri Jan 05, 2018 7:28 am
by owenzarro
jllort wrote: Wed Jan 03, 2018 4:25 pm El problema lo tienes en el AD de microsoft que limita el número máximo de resultados a 1000, tienes que localizar el parámetro de configuración del AD para que te salgan más resultados. Todos los usuarios van a tener acceso a OpenKM, por que lo suyo es que sólo aparezcan aquellos que realmente van a logearse, fíjate en el ejemplo de esta sección de la documentación como estamos haciendo un filtrado por aquellos usuarios que son miembros de ROLE_USER y de ROLE_ADMIN ( https://docs.openkm.com/kcenter/view/ok ... roles.html ), estos grupos obviamente han sido creados en el AD.
Y no es posible hacer que openkm sepa leer esa paginacion?
Lo pregunto porque tengo otros aplicativos que si me extraen toda la informacion de LDAP sin tener que configurar el AD para que me salgan mas resultados

Re: usuarios LDAP

PostPosted:Sat Jan 06, 2018 9:51 am
by jllort
Se tendría que modificar el LdapPrincipalAdapter, si quieres colaborar en este tema te puedo indicar la clase en cuestión que tiene que modificarse. De todas formas esto que comentas me resulta un tanto estraño, estamos hablando de aplicaciones de microsoft o de otro tipo de aplicaciones, porque el problema de fondo es que se estan realizando consultas al ldap, es decir la aplicación se conecta al ldap a través un de un determinado puerto y realiza consultas y el resultado de estas consultas esta limitado a 1000 filas y no entiendo muy bien como se puede paginar. Te invito a que te descargues una de estas dos aplicaciones y intentes hacer esto que nos estas comentando. Importante !!! mediante consultas:
http://directory.apache.org/studio/
https://docs.microsoft.com/en-us/sysint ... adexplorer

Re: usuarios LDAP

PostPosted:Thu Jan 11, 2018 11:17 am
by owenzarro
jllort wrote: Sat Jan 06, 2018 9:51 am Se tendría que modificar el LdapPrincipalAdapter, si quieres colaborar en este tema te puedo indicar la clase en cuestión que tiene que modificarse. De todas formas esto que comentas me resulta un tanto estraño, estamos hablando de aplicaciones de microsoft o de otro tipo de aplicaciones, porque el problema de fondo es que se estan realizando consultas al ldap, es decir la aplicación se conecta al ldap a través un de un determinado puerto y realiza consultas y el resultado de estas consultas esta limitado a 1000 filas y no entiendo muy bien como se puede paginar. Te invito a que te descargues una de estas dos aplicaciones y intentes hacer esto que nos estas comentando. Importante !!! mediante consultas:
http://directory.apache.org/studio/
https://docs.microsoft.com/en-us/sysint ... adexplorer
Lo intentare. Pero yo creia que solo podian validarse los 1000 usuarios que devuelve esa consulta. Pero despues de cambiar el openkm.xml me he dado cuenta que puedo iniciar sesion con cualquier usuario del dominio. Fallo mio. pero me interesaria que me dijeras la clase que se ocupa del LDAP para hecharle un vistazo

Re: usuarios LDAP

PostPosted:Fri Jan 12, 2018 7:24 pm
by jllort
Aqui la tienes https://github.com/openkm/document-mana ... apter.java

En el tema de los listados existen algunos parametros que podría probar a ver si tienen algun efecto, buscando por internet localize hace tiempo una sección de código interesante, pero que nunca he llegado a probar :
Code: Select all
com.sun.jndi.ldap.connect.pool.maxsize ?


if (POOL_LDAP.equalsIgnoreCase(userConfig.getLdapConnectPool())) {
		lcs.setPooled(true);
		publicEnv.put("com.sun.jndi.ldap.connect.pool.authentication", "none simple");
		if (userConfig.getLdapConnectPoolTimeout() != null && Long.valueOf(userConfig.getLdapConnectTimeout()) > 0) {
				publicEnv.put("com.sun.jndi.ldap.connect.pool.timeout", userConfig.getLdapConnectPoolTimeout());
		}
		if (userConfig.getLdapConnectPoolDebug() != null) {
				publicEnv.put("com.sun.jndi.ldap.connect.pool.debug", userConfig.getLdapConnectPoolDebug());
		}
		if (userConfig.getLdapConnectPoolInitSize() != null) {
				publicEnv.put("com.sun.jndi.ldap.connect.pool.initsize", userConfig.getLdapConnectPoolInitSize());
		}
		if (userConfig.getLdapConnectPoolMaxSize() != null) {
				publicEnv.put("com.sun.jndi.ldap.connect.pool.maxsize", userConfig.getLdapConnectPoolMaxSize());
		}
		if (userConfig.getLdapConnectPoolPrefSize() != null) {
				publicEnv.put("com.sun.jndi.ldap.connect.pool.prefsize", userConfig.getLdapConnectPoolPrefSize());
		}
}
Esto tiene que ver con los parametros que le puedes pasar a la base ( lo mismo debería ser aplicable del lado del codigo del LdapPrincipalAdapter )
Code: Select all
<beans:property name="baseEnvironmentProperties">
			 <beans:map>
					<beans:entry>
						 <beans:key>
							<beans:value>java.naming.referral</beans:value>
						</beans:key>
						<beans:value>follow</beans:value> 
					</beans:entry> 
				</beans:map>
		 </beans:property>
	</beans:bean>