I have been digging around and I can’t find any documentation that clearly states that the LDAP integration was done. I have searched the code and found the ADLDAP plugin in the library and a config file.
I don’t think any one has done this for the community. Ensoftek did it for Peace Corps. They might be able to peel it out as a module/add-on given time. We have permission to release that and some of the the other stuff too. It’s just complicated to untangle it.
You can achieve LDAP authentication with OpenEMR through php ldap functions. For login authentication process, customizations needed in ‘library/auth.inc’ file.
FIrst to establish the connection to the ldap server, use ldap_connect function. And to bind with the connected server, use ldap_bind function. Using these functions, LDAP authentication with OpenEMR can be achieved.
Tony, I went through all the files in the library/adLDAP folder and you are right that code is deprecated. It should be removed from the code base if possible.
No we paused on that for now. It was too much work and we only have a for
more days till go live and we are going to circle back around to that.
I took a look at the auth.inc as suggested however there is nothing that is
prebuilt. It would have to be all constructed. So, that is why we backed
off from this for right now.
Visolve, if there is work done and the code is ready, We would like to sponsor as we have clients waiting for it, Otherwise we have to dig in to it on our own since Sherwin’s project is also on hold.
We have experience in LDAP Integration. We can accomplish LDAP Integration in a week or two and provide support for couple of weeks. Please email services@visolve.com for more information.
Here is the code pulled from one of our projects (Peace Corps). I can’t test it at all but it might be a good place to start. Rather than from scratch.
You are going to need this: #IfNotTable adldap_config
CREATE TABLE IF NOT EXISTS adldap_config ( id int(11) NOT NULL AUTO_INCREMENT, account_suffix varchar(255) NOT NULL, base_dn text NOT NULL, domain_controllers varchar(255) NOT NULL, ad_username varchar(255) NOT NULL, ad_password blob NOT NULL, real_primarygroup tinyint(4) DEFAULT ‘0’, use_ssl tinyint(4) DEFAULT ‘0’, recursive_groups tinyint(4) DEFAULT ‘0’, excluded_users text NOT NULL, hq_ou varchar(16) DEFAULT NULL, local_ou varchar(16) DEFAULT NULL, default_group varchar(255) NOT NULL, authorization tinyint(4) NOT NULL DEFAULT ‘2’, calendar_ui tinyint(4) NOT NULL DEFAULT ‘0’, active tinyint(4) NOT NULL DEFAULT ‘0’, created_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_date timestamp NULL DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; #EndIf