32 lines
826 B
JavaScript
32 lines
826 B
JavaScript
const ldap = require('ldapjs');
|
|
|
|
searchOpts = {
|
|
filter: '(objectClass=posixAccount)',
|
|
scope: 'sub',
|
|
attributes: ['uid', 'displayName', 'mail'],
|
|
};
|
|
|
|
exports.home = function(req, res, next) {
|
|
|
|
client = ldap.createClient({url: 'ldap://' + req.session.ldap_bind_host + '/'});
|
|
client.bind(req.session.ldap_bind_dn, req.session.ldap_bind_pw, (err) => {
|
|
if (err) {
|
|
console.log('There was an error while logging in. Please try again.');
|
|
res.redirect('/auth/login');
|
|
return next(err);
|
|
} else {
|
|
client.search('ou=People,' + req.session.ldap_base_dn, searchOpts, (err, result) => {
|
|
users = [];
|
|
result.on('searchEntry', (entry) => {
|
|
users.push(entry.object);
|
|
});
|
|
|
|
return res.render('index', {
|
|
users: users
|
|
});
|
|
});
|
|
}
|
|
});
|
|
|
|
};
|