Hi all, We are in the process of adding LDAP connection support to carbon-datasources [1]. In c4, all the LDAP connection initialization properties and user store properties are managed in user-mgt.xml. Refer the ReadWriteLDAPUserStoreManager in user-mgt.xml[2]. So the purpose of this is to separate out connection initialization details and manage them in carbon-datasource[1].
In LDAP, all the connection handling, operations are done using a DirContext [3]. But we have to create a DirContext every time when we have to do a LDAP operation. So we can not register a single instance of DirContext using JNDI. So according to the last discussion, we thought of registering a bean which includes LDAP connection initialization details instead of registering a connection source. So if someone wants to create a LDAP connection, they can get that bean using JNDI and create the LDAP Connection source using that bean. [1] https://github.com/wso2/carbon-datasources [2] https://github.com/wso2/carbon-kernel/blob/4.4.x/distribution/kernel/carbon-home/repository/conf/user-mgt.xml [3] https://docs.oracle.com/javase/7/docs/api/javax/naming/directory/DirContext.html Here are the connection parameters. - Connection initialization properties <Property name="ConnectionURL"> <Property name="ConnectionName"> <Property name="ConnectionPassword"> <Property name="LDAPConnectionTimeout"> <Property name="ReadTimeout"/> - DNS related properties <Property name=”URLOfDNS”> <Property name=”DNSDomainName”> - Connection pooling properties <Property name = "com.sun.jndi.ldap.connect.pool.authentication"”> <Property name = "com.sun.jndi.ldap.connect.pool.debug"> <Property name = "com.sun.jndi.ldap.connect.pool.initsize"> <Property name = "com.sun.jndi.ldap.connect.pool.prefsize"> <Property name = “com.sun.jndi.ldap.connect.pool.protocol"> <Property name = "com.sun.jndi.ldap.connect.pool.timeout"> <Property name = "com.sun.jndi.ldap.connect.pool.maxsize"> - Additional Properties <Property name = “java.naming.ldap.attributes.binary”> <Property name = “Referral”> <Property name = “java.naming.security.authentication”> Thanks, Chanaka. -- Chanaka Cooray Software Engineer, WSO2 Inc. http://wso2.com Email: [email protected] Mobile: +94713149860
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
