За последние 24 часа нас посетили 37042 программиста и 7910 роботов. Сейчас ищут 1549 программистов ...

ldap в php

Тема в разделе "PHP для новичков", создана пользователем ewfewfefefrefre, 10 май 2023.

?

Заходит в ldap, но не заходит на сайт, в чем проблема?

  1. надо изменить что-что

    0 голосов
    0,0%
  2. надо дописать что-то

    0 голосов
    0,0%
Можно выбрать сразу несколько вариантов.
  1. ewfewfefefrefre

    ewfewfefefrefre Новичок

    С нами с:
    10 май 2023
    Сообщения:
    1
    Симпатии:
    0
    if ($this->validate() && !is_null($this->_user = $this->getUser())) {
    if (Yii::$app->user->login($this->_user, $this->rememberMe ? 3600 * 24 * 30 : 0));
    return $this->_user;
    }
    global $login_error; // текст ошибки, если авторизация не пройдена
    $domain="ex;
    $ldaphost = "exxample";
    $ldapport = "389";
    $base = "exx";
    $filter="(*)";
    $username = $this->username;

    $password = $this->password;
    //подсоединяемся к LDAP серверу
    $ldap = ldap_connect($ldaphost,$ldapport) or die('Cannot connect to LDAP Server.');
    //Включаем LDAP протокол версии 3
    ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3) or die('Unable to set LDAP protocol version');
    //Отключаем обработку рефералов для ldap v3
    ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0) or die('Unable to set LDAP OPT REFERRALS');
    var_dump(@ldap_bind($ldap, 'infotest.ad.kubbti.ru', 'password'));
    if ($ldap) /* Получаем данные из AD */
    {
    // Пытаемся войти в LDAP при помощи введенных логина и пароля
    $bind = @ldap_bind($ldap,$username,$password);
    if ($bind) //Привязка LDAP прошла успешно!
    {
    // Проверим, является ли пользователь членом указанной группы и не отключен ли он.
    $result = ldap_search($ldap,$base,"(samAccountName=".$username.")");;
    $result_ent = ldap_get_entries($ldap,$result);

    if (!$result) {
    $login_error = 'Ошибка обращения к LDAP.';
    return false;
    }
    // Получаем количество результатов предыдущей проверки
    $result_ent = ldap_get_entries($ldap,$result);
    if (!$result_ent)
    {
    $login_error = 'Результатов проверки получить не удалось';
    return false;
    }

    }
    else
    {
    $login_error = 'Вы ввели неправильный <br>логин или пароль';
    return false;
    }
    return $ldap=ldap_connect($ldaphost,$ldapport);
    ldap_close($ldap);
    }

    if ($result_ent['count'] != 0 )
    {
    // тут код в случае если авторизации пройдена
    $fullname = $result_ent[0]["displayname"][0]; //полное имя пользователя
    $_SESSION["fullname"] = $fullname; //сохраняем в переменной сессии для отображения
    return true;
    exit;
    }
    else
    {
    $login_error = 'К сожалению, вам доступ закрыт.';
    return false;
    }