gpt4 book ai didi

javascript - 使用 Passport-ldapjs 进行 LDAP 身份验证

转载 作者:行者123 更新时间:2023-11-28 06:02:55 25 4
gpt4 key购买 nike

我使用此代码使用 Passport-ladpjs 模块进行 LDAP 身份验证。不需要绑定(bind),因为它已经在模块中处理过了。使用我的凭据后,我无法登录。输入我的凭据后,我将返回到失败重定向页面。请帮助我。

 var LdapStrategy = require('passport-ldapjs').Strategy;
var opts = {
server: {
url: 'myserver:1111',
},

base: 'dc=domain,dc=com',
search: {

filter: '(sAMAccountName={{username}})',
attributes: ['displayName', 'mail','sAMAccountName','sn'],
scope: 'sub'
},
uidTag: 'cn',
usernameField: 'username',
passwordField: 'password'
};


passport.use(new LdapStrategy(opts, function(profile, done) {
console.log("Ldap Strategy entered !");
var userObj = {};
if (profile) {
console.log("Profile : " + JSON.stringify(profile));
userObj.id = profile.givenName;
return done(null, userObj);
} else {
console.log("User not found");
return done('User not found');
}
}));

下面是路由代码

app.post('/signin', passport.authenticate('ldap', {failureRedirect: 'signin'}), function(req, res){
console.log("Login user : " + req.user.id);
res.render('index', {data:{id:req.user.id, hash:req.user.hash, nodePollInterval:req.user.nodePollInterval}});

});

最佳答案

发生这种情况是因为我的代码中未包含以下行。它之前拒绝了 ldap TLS 证书。process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";此行修复了该问题并能够使用 ldap 服务器访问应用程序。

关于javascript - 使用 Passport-ldapjs 进行 LDAP 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37129562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com