niota

fascinating. logical.

User Tools

Site Tools


niota-docs:niota_system_config_ldap

This is an old revision of the document!


Table of Contents

configure LDAP authentication

Prerequisitions

Configuration file ldap.conf must be created as a simple text file in the following folder

“c:\openldap\sysconf\ldap.conf”

This file path is hardcoded in the ldap related dll file of the php installation, therefore there is no soultion to place the ldap.conf file in any other place.

In the file ldap.conf the certificate-folder and certificate-file path can be set. The client certificate checking method can be specified as well. These can be set with the next three directives what you can define in the ldap.conf file:

TLS_REQCERT
This directive specifies which checks to perform on client certificates in an incoming TLS session, if any.

Accepted values are:

  • never
  • allow
  • try
  • demand

In the case of self-signed certificates it is recommended to use the never or the allow setting.

E.g.:

TLS_REQCERT allow

Important
Even if the setting is set to never the certificate must exist and the path must be set correctly! The setting does not mean that you do not have to own the certificate.

TLS_CACERT
Certificate file path. The certificate must not be placed in the same folder as the ldap.conf file but it is also not a problem to place it into the folder c:\openldap\sysconf

Example 1

TLS_CACERT c:\path\to\certification_dir\file.cer

Example 2

TLS_CACERT c:\openldap\sysconf\certificate.cer

Important
The certification file content must be in Base64 format. You can check it for example by opening the certificate in Notepad. Content should look like this example:

-----BEGIN CERTIFICATE-----
MIIDqjCCApKgAwIBAgIJAPsChKSq04oyMA0GCSqGSIb3DQEBCwUAMGYxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
...
-----END CERTIFICATE-----

TLS_CACERTDIR Certificate folder path. The certificate must not be placed in the same folder as the ldap.conf file but it is also not a problem to place this into that folder c:\openldap\sysconf.

Example 1

TLS_ CACERTDIR c:\path\to\certification_dir\

Example 2

TLS_ CACERTDIR c:\openldap\sysconf\

Note


There are openssl related php settings in the configuration file c:\Program Files\php-7.3.8_x64\php.ini (;openssl.cafile and ;openssl.capath) but those do not have effect on settings set in file ldap.conf or on LDAPS connection. So the proper settings must be set in file c:\openldap\sysconf\ldap.conf


For more information visit the openLDAP documentation at: https://www.openldap.org/doc/admin21/tls.html

  • Restart Apache

remarks


On niota administrative pages at menu item User management the Userid LDAP setting is not in use anymore. The user input of the login screen will be used for authentication against the LDAP(S) server.

On niota administrative pages at menu item “User management” select the user who will get right to LDAP(S) authentication. Then mark checkbox: “LDAP active” and save the settings.

Now the edited user can use only his/her LDAP credentials to log in.


  • set LDAP(S) connection in file niota/conf/connections.php

Sample configuration file: “niota\app\conf\connections_sample.php”.

const ET_LDAP_AUTHENTICATION = array(
	
		//ldaps
		PHPGRID_DB_HOSTNAME	=>"ldaps://my.hostname.com:636",
		PHPGRID_DB_DN 		=>"dc=my,dc=hostname,dc=com",
		
		//simple ldap
		//PHPGRID_DB_HOSTNAME	=>"ldap://my.hostname.com:389",
		//PHPGRID_DB_DN 		=>"dc=my,dc=hostname,dc=com",
);
niota-docs/niota_system_config_ldap.1637521935.txt.gz · Last modified: 2025/07/17 14:11 (external edit)