从客户端JavaScript检查Active Directory中是否存在用户

时间:2015-07-31 15:29:21

标签: javascript jquery asp.net

我正在创建一个用于创建AD用户对象的ASP.NET页面。我正在使用JQuery进行客户端验证(以检查用户名是否已存在)。 如果在活动目录中找到用户,我在Google上发现了一些返回用户属性的脚本(我将其转换为返回bool)。

但是,如果您通过直接双击ScriptFile.js在Visual Studio之外运行此脚本(下面),它可以正常工作,但是当您通过visual studio尝试相同时,它会在object undefined处出现var objRootDSE = GetObject('LDAP://RootDSE');错误

这是JavaScript函数代码:

function Search(search) {
    var arrSearchResult = [];
    var objRootDSE = GetObject('LDAP://RootDSE');
    var strDomain = objRootDSE.Get("DefaultNamingContext");
    strAttrib = "samaccountname"; 
    objConnection = new ActiveXObject("ADODB.Connection");
    objConnection.Provider = "ADsDSOObject";
    objConnection.Open("ADs Provider");
    objCommand = new ActiveXObject("ADODB.Command");
    objCommand.ActiveConnection = objConnection;
    var Dom = "LDAP://" + strDomain;
    var arrAttrib = strAttrib.split(",");
    objCommand.CommandText = "Select '" + strAttrib + "' From '" + Dom + "' WHERE objectCategory = 'user' AND objectClass='user' AND samaccountname='" + search + "' ORDER BY samaccountname ASC";
    try {
        objRecordSet = objCommand.Execute();
        objRecordSet.Movefirst;
        while (!(objRecordSet.EoF)) {
            var locarray = new Array();
            for (var y = 0; y < arrAttrib.length; y++) {
                locarray.push(objRecordSet.Fields(y).value);
            }
            arrSearchResult.push(locarray); objRecordSet.MoveNext;
        }
        return arrSearchResult;
    }
    catch (e)
    { alert(e.message); }
}

请建议如何在Visual Studio中进行此项工作或以其他方式检查用户是否存在于AD 来自客户端

0 个答案:

没有答案