Поиск в LDAP по адресу Datatable AJAX URL с использованием ldap. js - PullRequest
0 голосов
/ 07 апреля 2020

У меня уже работает приложение node.js, которое использует Node.js, MySQL и Datatable для отображения результатов. Он фильтрует с использованием API (HTTP-протокол).

Мне нужно, чтобы функция поиска выполнялась по протоколу LDAP вместо HTTP.

Сервер LDAP уже работает с использованием модуля LDAP js и он работает, потому что возвращает в консоли ожидаемые результаты фильтрации после соединения с MySQL.

Что мне особенно нужно, это подключить этот сервер LDAP к Datatable. Прямо сейчас подключается с помощью AJAX url, указывающего на API сервера. Поэтому вместо использования URL-адреса API (протокол HTTP) используется URL-адрес LDAP или функция LDAP (протокол LDAP). Атрибут URL

Datatable AJAX позволяет также подключаться к указанным c PHP файлам но я не знаю, как я могу сделать это с Node.js.

Возможно, я смогу уточнить URL-адрес LDAP и подключить его?

Это код таблицы данных:

table = $('#dataTable').DataTable({
            "processing": true,
            "dom": '<"top"i>rt<"bottom"lp><"clear">',
            "serverSide": true,
            "responsive": false,
            "aaSorting": [3, 'ASC'],
            autoWidth: true,
            "ajax": {
                url: APIPath + "/Getdata",             // THIS IS HOW IT UPDATES AND SEARCHES
                //url: "ldap://0.0.0.0:1389",          //Maybe I can connect this way to LDAP?
                data: function (d) {
                    d.search = $('#search').val();
                    return d;
                },
                type: "get",
                dataSrc: function (json) {
                    if (json.success != false) {
                        LstData = json.data;
                        return json.data;
                    } else {
                        return [];
                    }
                },
            },

Это часть поиска сервера LDAP:

server.search(basedn, function(req, res, next) {
    ...
    DBConnection.query(query, function (err, users) {
        if (!err) {

            for (var i=0; i<users[0].length; i++){
                var user = {
                  dn: "cn="+users[0][i].TELEPHONE+", "+basedn,
                  attributes: {
                    objectclass: [ "top" ],
                    cn: users[0][i].TELEPHONE,
                    mail: users[0][i].EMAIL,
                  }
                };
                res.send(user);
                //console.log(user);
              }
              res.end();

});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...