1

Тема: JS: ошибка авторизации по прoтоколу LDAP (метод OpenDSObject)

Никак не пойму где затык в этом коде:

var usr = "Администратор@butyrki.local", psw = "%LcGhjvj%";        
                                              // данные для авторизации: имя пользователя и пароль
var dso = GetObject("LDAP:");                        
                                              // бессерверное связывание
 
coll = new Enumerator(dso);                        
var strDomain = coll.item().distinguishedName;

WScript.Echo(strDomain + "\n" + typeof(strDomain));
                                              // посмотрел, что выдаёт

WScript.Echo("LDAP://" + strDomain + " " + usr + " " + psw + " 0" + "\n" +
         "LDAP://DC=butyrki,DC=local", "Администратор@butyrki.local", "%LcGhjvj%", 0);
                                              //  убедился, что верхняя и нижняя строка полностью идентичны
try
    {
    var objDomain1 = dso.OpenDSObject("LDAP://" + strDomain + " " + usr + " " + psw + " 0");    
    WScript.Echo("Успешная авторизация №1");
    }
catch(err)
    {
    WScript.Echo("ошибка авторизации №1");                        // выдаёт вот эту ошибку
    }
try
    {
    var objDomain2 = dso.OpenDSObject("LDAP://DC=butyrki,DC=local", "Администратор@butyrki.local", "%LcGhjvj%", 0);    
    WScript.Echo("Успешная авторизация №2");                     // выдаёт, что авторизация успешна.
    }
catch(err)
    {
    WScript.Echo("ошибка авторизации №2");
    }    

что я только не менял в этой строке, ничего не помогает... так тоже пробовал:

var objDomain1 = dso.OpenDSObject("LDAP://" + strDomain + ", " + usr + ", " + psw + ", 0");    

2 (изменено: Spy00000, 2013-06-26 20:26:14)

Re: JS: ошибка авторизации по прoтоколу LDAP (метод OpenDSObject)

В первой авторизации передаётся одна большая строка с именем домена, пользователем, паролем и нулём.
Во второй авторизации передаётся 3 строки и число 0.
Это не одно и тоже.

Чтобы при авторизации параметры брались из переменных, вызов должен выглядеть так:

var objDomain1 = dso.OpenDSObject("LDAP://" + strDomain , usr , psw , 0 );

P.S.
То, что WScript.Echo() выводит параметры, переданные ему через запятую, в виде строки не означает, что они и в другие функции передаются в виде строки.

P.P.S.
Последний вариант был почти правильный, но запятые должны быть не внутри строки, а разделять передаваемые параметры.

3

Re: JS: ошибка авторизации по прoтоколу LDAP (метод OpenDSObject)

вот, блин, засада   спасибо, понял.