ad-promise
Advanced tools
Comparing version 1.6.2 to 1.6.3
@@ -26,10 +26,17 @@ const _ = require('underscore'); | ||
}); | ||
self.getGroupMembershipForUser(opts, username, function (err, groups) { | ||
if (err) { | ||
let usersOfGroup = self.getUsersForGroup(opts, groupName); | ||
let user = self.findUser(opts, username); | ||
Promise.all([usersOfGroup, user]).then(data => { | ||
let usersOfGroup = data[0]; | ||
let user = data[1]; | ||
if(usersOfGroup.map(userOfGroup => { | ||
return userOfGroup.dn; | ||
}).indexOf(user.dn) !== -1){ | ||
if(callback){ | ||
callback(err); | ||
} | ||
return reject(err); | ||
} | ||
if ((!groups) || (groups.length === 0)) { | ||
callback(null, true); | ||
} | ||
return resolve(true); | ||
} else { | ||
log.info('"%s" IS NOT a member of "%s". No groups found for user.', username, groupName); | ||
@@ -41,20 +48,11 @@ if(callback){ | ||
} | ||
// Check to see if the group.distinguishedName or group.cn matches the list of | ||
// retrieved groups. | ||
var lowerCaseGroupName = (groupName || '').toLowerCase(); | ||
var result = _.any(groups, function (item) { | ||
return (((item.dn || '').toLowerCase() === lowerCaseGroupName) || | ||
((item.cn || '').toLowerCase() === lowerCaseGroupName)); | ||
}); | ||
log.info('"%s" %s a member of "%s"', username, result ? 'IS' : 'IS NOT', groupName); | ||
}, err => { | ||
if(callback){ | ||
callback(null, result); | ||
} | ||
return resolve(result); | ||
callback(err); | ||
} | ||
return reject(err); | ||
}); | ||
}); | ||
}); | ||
}; | ||
module.exports = isUserMemberOf; |
{ | ||
"author": "Relief Melone (relief.melone@gmail.com)", | ||
"name": "ad-promise", | ||
"version": "1.6.2", | ||
"version": "1.6.3", | ||
"description": "This is a fork of the gheeres node-activedirectory. It fixes some issues with timeouts with very large AD-Groups as well as returning also promises so you won't have to use callbacks", | ||
@@ -6,0 +6,0 @@ "main": "index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2327264
5293