コード例 #1
0
ファイル: index.php プロジェクト: HarkiratGhotra/application
use adLDAP\adLDAP;
use adLDAP\Exceptions\adLDAPException;
$options = ['account_suffix' => '', 'base_dn' => null, 'domain_controllers' => [''], 'admin_username' => null, 'admin_password' => null, 'real_primarygroup' => '', 'use_ssl' => false, 'use_tls' => false, 'recursive_groups' => true, 'ad_port' => adLDAP::ADLDAP_LDAP_PORT, 'sso' => ''];
foreach ($options as $optName => $defaultValue) {
    if (isset($_POST[$optName])) {
        $options[$optName] = $_POST[$optName];
    }
}
$options['domain_controllers'] = array_filter($options['domain_controllers']);
$adldap = false;
$exception = false;
if (is_array($options['domain_controllers']) && !empty($options['domain_controllers'][0])) {
    try {
        $adldap = new adLDAP($options);
        $options['base_dn'] = $adldap->getBaseDn();
        $options['ad_port'] = $adldap->getPort();
    } catch (adLDAPException $e) {
        $exception = $e;
    }
}
$username = !empty($_POST['username']) ? $_POST['username'] : '';
$info = false;
if ($adldap && !empty($username)) {
    $password = $_POST['password'];
    try {
        $adldap->authenticate($username, $password);
        $info = $adldap->user()->info($username, ['*']);
        if (isset($info[0])) {
            $info = $info[0];
        }
    } catch (\adLDAP\Exceptions\adLDAPException $e) {