2012-10-29 132 views
3

我已經使用npm install ldapauth安裝了ldapauth,並且我安裝了ldapjs。 我試着用下面的代碼LDAP身份驗證支持節點js

var sys = require('sys'), 
ldapauth = require('./ldapauth'); 
var scheme = 'ldap', 
    ldap_host = 'abc.com', 
    ldap_port = 369, 
    username = 'xxx', 
    password = 'xxx' 
    base  = "DC=abc,DC=xyz,DC=com"; 
    filter = "(&(objectclass=user)(sAMAccountName= 3025141))"; 
console.log("Authentication Check"); 
ldapauth.authenticate(scheme, ldap_host, ldap_port, username, password, 
  function(err, result) { 
     if (err) { 
          console.log(err); 
        } else { 
          console.log('Authenticated ! ! ! ! ! : ' + result); 
        } 
    }); 

//ldap authentication Search 
ldapauth.search(ldap_host, ldap_port, username, password, base, filter, 
    function(err, result) { 
     if (err) { 
     sys.puts(err); 
     } else { 
     sys.puts('Search: ' + JSON.stringify(result)); 
     } 
    }); 

我在MAC嘗試,但我得到Segmentation fault: 11錯誤。我怎樣才能解決這個問題?

回答

0
var ldap = require('ldapjs'); 
var client = ldap.createClient({ 
    url: 'ldap://127.0.0.1:1389' 
}); 

client.bind('cn=root', 'secret', function(err) { 
    if(err) { 
    console.log(err); 
    } else { 
    console.log('authenticated'); 
    } 
}); 

client.unbind(function(err) { 
}); 

我使用ldapjs客戶端進行身份驗證。它不應該是一個問題。
here is the link to ldapjs client doc

+0

這只是綁定,登錄後您仍然不知道除用戶名以外的用戶信息 – Xianlin