【问题标题】:Passport-ldapauth: Error: getaddrinfo ENOTFOUNDPassport-ldapauth:错误:getaddrinfo ENOTFOUND
【发布时间】:2018-01-31 23:27:53
【问题描述】:

这就是我设置护照-ldapauth 策略的方式:

let OPT = {
    server: {
        url: 'ldap://****:389',
        bindDN: "",
        bindCredentials: "",
        searchBase: 'ou=Users,dc=astron,dc=hu',
        searchFilter: "(uid={{username}})"
    },
    usernameField: 'username',
    passwordField: 'password',
};
passport.use(new LdapStrategy(OPT, function (user, done) {
    if (user != null) {
        return done(null, user);
    } else return done(new Error("i dont know"), null)
}))
app.use(passport.initialize())

这是使用它的地方:

 async authenticate(req, res): Promise < boolean > {
         return new Promise < boolean > ((resolve,
                     reject) => {
                     let authenticate: express.RequestHandler = <express.RequestHandler>passport.authenticate('ldapauth', (error, user, info) => {
                if (error) {
                    return reject(error);
                }
                if (!user) {
                    return resolve(false);
                }
                req.user = user;
                resolve(true);
            });
            authenticate(req, res,
                null);
        }
        )
    }

我得到这个错误:

错误:getaddrinfo ENOTFOUND **** ****:389

在 errnoException (dns.js:28:10)

在 GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)

我的问题是为什么我会收到错误消息?我确定网址和用户名/密码正确。

【问题讨论】:

    标签: node.js typescript dns ldap passport.js


    【解决方案1】:

    这个错误只有一个含义,你的节点应用程序无法连接到 ldap 服务器。可能是您提供了正确的 ip/host,但无法从您运行节点应用程序的机器访问它。

    你可以尝试在同一台机器上使用一些工具连接到ldap,看看它是否能够连接到服务器。

    【讨论】:

      【解决方案2】:

      我在开发时遇到同样的错误。我使用restify(let restify = require('restify'))进行https调用,在控制台中它显示ENOTFOUND没有特定上下文的错误。 然后我切换到使用其他方法

      1. https (require('https'))
      2. xhr (const XMLHttpRequest = require('xhr2'))

      我使用两者来对同一个 API 进行 ajax 调用。它可以正常工作。

      【讨论】:

        猜你喜欢
        • 2017-10-16
        • 2018-03-03
        • 2014-10-20
        • 2018-05-24
        • 2016-04-20
        • 2021-07-18
        • 1970-01-01
        • 2017-01-28
        • 2014-06-05
        相关资源
        最近更新 更多