Я пытаюсь прототипировать аутентификацию LDAP в приложении интрасети, которое мы разрабатываем, и вот какой-то пример кода, который я написал, чтобы продемонстрировать, будет ли он работать. Тем не менее, я получаю ошибки, и я не могу найти решение для них в любом месте в Интернете.node-ldapauth ReferenceError: err не определен в
Вот полная Я получаю ошибку:
ReferenceError: err is not defined at /Users/tdeshpande/Dropbox/NodeAuth/app.js:32:54 at
Object.handle (/Users/tdeshpande/node_modules/express/node_modules/connect/lib/middleware
/basicAuth.js:89:7) at next (/Users/tdeshpande/node_modules/express/node_modules/connect
/lib/proto.js:193:15) at Object.expressInit [as handle] (/Users/tdeshpande/node_modules
/express/lib/middleware.js:30:5) at next (/Users/tdeshpande/node_modules/express
/node_modules/connect/lib/proto.js:193:15) at Object.query [as handle] (/Users/tdeshpande
/node_modules/express/node_modules/connect/lib/middleware/query.js:45:5) at next (/Users
/tdeshpande/node_modules/express/node_modules/connect/lib/proto.js:193:15) at
Function.app.handle (/Users/tdeshpande/node_modules/express/node_modules/connect
/lib/proto.js:201:3) at Server.app (/Users/tdeshpande/node_modules/express/node_modules
/connect/lib/connect.js:65:37) at Server.EventEmitter.emit (events.js:98:17)
И вот мой код
var connect = require('connect');
var LdapAuth = require('ldapauth');
var express = require('express');
var app = express();
// Config from a .json or .ini file or whatever.
var config = {
url: 'ldap://intranetldapserver:389',
adminDn: 'userName',
adminPassword: 'secret',
searchBase: 'dc=corp,dc=company,dc=com, ou=People',
searchFilter: '(&(objectcategory=person)(samaccountname=*))',
searchAttributes: ['samaccountname']
};
var ldap = new LdapAuth(config);
var LdapAuthfunc = function(err, user) {
if (err) {
console.log("LDAP Auth error: %s", err);
callback(err);
}
else {
callback(err, user);
}
}
//Authenticator
app.use(express.basicAuth(function (username, password, callback) {
ldap.authenticate(username, password, LdapAuthfunc(err, user));
}));
// Basic Authenticator
// app.use(express.basicAuth('testUser', 'testPassword'));
app.get('/', function(req, res) {
res.send('Test Completed');
});
app.listen(8080);
Может кто-нибудь сказать мне, что я делаю неправильно?
Спасибо!
Я этого не делаю. Как я должен обрабатывать логин? – Tejas
@Tejas: см. Править. – Ryan
Кроме того, я использую http://stackoverflow.com/questions/20525070/why-is-node-ldapauth-so-slow-even-when-cached как одну из ссылок для написания этого прототипа. – Tejas