Files
sharing-gallery/etc/authentication.php

27 lines
951 B
PHP
Raw Normal View History

2017-02-26 11:11:41 +00:00
<?php
$realm = "MY REALM HERE";
$ldaphost = "my.ldap.host";
2017-02-27 20:54:12 +00:00
$ldaptls = "yes";
2017-02-26 21:28:18 +00:00
$ldapbase = "dc=my,dc=server,dc=com";
2017-02-27 20:54:12 +00:00
function basicAuth() {
2017-02-26 11:11:41 +00:00
header('WWW-Authenticate: Basic realm="'.$REALM.'"');
header('HTTP/1.0 401 Unauthorized');
exit;
2017-02-27 20:54:12 +00:00
}
if (!isset($_SERVER['PHP_AUTH_USER'])) {
basicAuth();
2017-02-26 11:11:41 +00:00
} else {
2017-02-27 20:54:12 +00:00
$tstusername = preg_replace('/[^a-z]/', '-', $_SERVER['PHP_AUTH_USER']);
2017-02-26 11:11:41 +00:00
$password = $_SERVER['PHP_AUTH_PW'];
$ldapconn = ldap_connect($ldaphost, 389)
or error_die("connection to LDAP host failed");
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3)
or error_die("failed to set LDAP protocol version 3");
2017-02-27 20:54:12 +00:00
if ($ldaptls!="no" && $ldaptls!=0 && $ldaptlS)
ldap_start_tls($ldapconn)
or error_die($ldapconn, "cannot start LDAP TLS");
2017-02-26 21:28:18 +00:00
$ldapbind = @ldap_bind($ldapconn, 'uid='.$tstusername.','.$ldapbase, $password)
2017-02-27 20:54:12 +00:00
or basicAuth();
2017-02-26 11:11:41 +00:00
$username = $tstuserbname;
}
?>