Add HTTP Authentication / LDAP Authorization module.

This Authentitation / Authorization module provides the ability to let
  the webserver (e.g. Apache) do the user Authentication (using Kerberos
  f.e.) and let libreNMS do the Authorization of the already known user.
  Authorization and setting of libreNMS user level is done by LDAP group
  names specified in the configuration file. The group configuration is
  basicly copied from the existing ldap Authentication module.

  To save lots of redundant queries to the LDAP server and speed up the
  libreNMS WebUI, all information is cached within the PHP $_SESSION as
  long as specified in $config['auth_ldap_cache_ttl'] (Default: 300s).

Signed-off-by: Maximilian Wilhelm <max@rfc2324.org>
This commit is contained in:
Maximilian Wilhelm
2016-01-21 21:49:08 +01:00
parent aec0453c76
commit 64ce4f335f
3 changed files with 323 additions and 0 deletions
+18
View File
@@ -104,6 +104,24 @@ $config['auth_ldap_groupmemberattr'] = "memberUid";
Replace {id} with the unique ID provided by Jumpcloud.
#### HTTP Authentication / LDAP Authorization
Config option: `ldap-authorization`
This module is a combination of ___http-auth___ and ___ldap___
LibreNMS will expect the user to have authenticated via your webservice already (e.g. using Kerberos Authentication in Apache) but will use LDAP to determine and assign the userlevel of a user.
The userlevel will be calculated by using LDAP group membership information as the ___ldap___ module does.
The configuration is the same as for the ___ldap___ module with one extra option: auth_ldap_cache_ttl.
This option allows to control how long user information (user_exists, userid, userlevel) are cached within the PHP Session.
The default value is 300 seconds.
To disabled this caching (highly discourage) set this option to 0.
```php
$config['auth_ldap_cache_ttl'] = 300;
```
#### Active Directory Authentication
Config option: `active_directory`