मैं "शीर्षक में उल्लिखित टूल/अनुप्रयोगों के साथ एक सक्रिय निर्देशिका सर्वर पर प्रमाणीकरण परेशानी हो रही हूँ।LDAP प्रमाणीकरण
मैं एक परीक्षण ई पर्यावरण पाया here उपयोग कर रहा हूँ यहां प्रासंगिक कोड स्निपेट हैं, अगर किसी के पास कोई सुझाव है तो मैं वास्तव में इसकी सराहना करता हूं।
वर्तमान में, मुझे जो त्रुटि मिल रही है वह "अवैध उपयोगकर्ता नाम/पासवर्ड" है। मुझे यकीन नहीं है कि यह bindDn खाता/पीडब्ल्यू या उपयोगकर्ता फॉर्म में प्रवेश करता है। पासपोर्ट-लडापाथ परियोजना के अनुसार यह है:
invalidCredentials flash message for InvalidCredentialsError
NoSuchObjectError, and
/no such user/i LDAP errors (default: 'Invalid username/password')
अग्रिम धन्यवाद।
ग्राहक - auth.service.js
...
login: function(user, callback) {
var cb = callback || angular.noop;
var deferred = $q.defer();
$http.post('/auth/ldap', {
email: user.email,
password: user.password
}).
success(function(data) {
$cookieStore.put('token', data.token);
currentUser = User.get();
deferred.resolve(data);
return cb();
}).
error(function(err) {
this.logout();
deferred.reject(err);
return cb(err);
}.bind(this));
return deferred.promise;
},
...
सर्वर index.js
'use strict';
var express = require('express');
var passport = require('passport');
var auth = require('../auth.service');
var router = express.Router();
router.post('/', function(req, res, next) {
passport.authenticate('ldapauth', function (err, user, info) {
var error = err || info;
if (error) return res.json(401, error);
if (!user) return res.json(404, {message: 'Something went wrong, please try again.'});
var token = auth.signToken(user._id, user.role);
res.json({token: token});
})(req, res, next)
});
module.exports = router;
सर्वर passport.js
var passport = require('passport');
var LdapStrategy = require('passport-ldapauth').Strategy;
exports.setup = function (User, config) {
passport.use(new LdapStrategy({
usernameField: 'email',
passwordField: 'password',
server: {
url: 'ldap://ldap.forumsys.com:389',
bindDn: "cn=read-only-admin,dc=example,dc=com",
bindCredentials: "password",
searchBase: 'ou=mathematicians,dc=example,dc=com',
searchFilter: 'uid={{username}}'
}
},
function (user, done) {
return done(null, user);
}
));
};