2010-02-28 13:04:07 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
function authenticate($username,$password)
|
|
|
|
{
|
|
|
|
global $config;
|
|
|
|
|
|
|
|
$ds=@ldap_connect($config['auth_ldap_server'],$config['auth_ldap_port']);
|
|
|
|
if ($ds)
|
|
|
|
{
|
2010-03-01 01:23:37 +00:00
|
|
|
if ($config['auth_ldap_version'])
|
|
|
|
{
|
|
|
|
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, $config['auth_ldap_version']);
|
|
|
|
}
|
2010-02-28 13:04:07 +00:00
|
|
|
if (ldap_bind($ds, $config['auth_ldap_prefix'] . $username . $config['auth_ldap_suffix'], $password))
|
|
|
|
{
|
|
|
|
if (!$config['auth_ldap_group'])
|
|
|
|
{
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
if (ldap_compare($ds,$config['auth_ldap_group'],'memberUid',$username))
|
|
|
|
{
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
# FIXME return a warning that LDAP couldn't connect?
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|