Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Passport ldapauth-未经授权的消息_Node.js_Passport.js - Fatal编程技术网

Node.js Passport ldapauth-未经授权的消息

Node.js Passport ldapauth-未经授权的消息,node.js,passport.js,Node.js,Passport.js,几天来我一直在努力让它工作 我使用express创建了一个完全独立的节点JS应用程序,在我将其放入应用程序之前对其进行了测试。。。当我使用forumsys.com上的托管测试广告时,效果非常好。。当我点击我的广告时,我总是收到“未经授权”的信息 我找不到一个好方法来获取此模块的调试详细信息。。。我使用的任何方法都只会返回模糊的消息。。。未经授权意味着什么?它搜索了广告但找不到用户?或者它不能绑定?我认为它不能绑定 一件奇怪的事,我注意到我的广告中我的用户的完整DN有一个反斜杠 以下是我的服务器详

几天来我一直在努力让它工作

我使用express创建了一个完全独立的节点JS应用程序,在我将其放入应用程序之前对其进行了测试。。。当我使用forumsys.com上的托管测试广告时,效果非常好。。当我点击我的广告时,我总是收到“未经授权”的信息

我找不到一个好方法来获取此模块的调试详细信息。。。我使用的任何方法都只会返回模糊的消息。。。未经授权意味着什么?它搜索了广告但找不到用户?或者它不能绑定?我认为它不能绑定

一件奇怪的事,我注意到我的广告中我的用户的完整DN有一个反斜杠

以下是我的服务器详细信息:(你可以从forumsys.com上看到注释过的代码,非常有用)

这是我的全文:

    var express      = require('express'),
    passport     = require('passport'),
    bodyParser   = require('body-parser'),
    LdapStrategy = require('passport-ldapauth');
    path         = require('path')

var OPTS = {
  server: {
      url: 'ldap://ad-prod01.myco.net:389',
      bindDN: 'CN=myapp\, adserver01 (SA),OU=Service Accounts,OU=Users and Groups,DC=myco,DC=net',
      bindCredentials: 'password12345',
      searchBase: 'DC=myco,DC=net',
      searchFilter: '(samaccountname={{username}})'
    }
  // server: {
  //   url: 'ldap://ldap.forumsys.com',
  //   bindDN: 'cn=read-only-admin,dc=example,dc=com',
  //   bindCredentials: 'password',
  //   searchBase: 'dc=example,dc=com',
  //   searchFilter: '(uid={{username}})'
  // }
};

var app = express();

app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));

passport.use(new LdapStrategy(OPTS));

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(passport.initialize());

app.post('/auth', passport.authenticate('ldapauth', {session: false}), function(req, res) {
  res.send({status: 'ok'});
});

app.get('/login', function(req, res){
  res.render('login', {
    title: 'Portal - Login'
  });

});

app.listen(8443);

有时发布问题会让大脑发出咔哒声…
更改:

bindDN: 'CN=myapp\, adserver01 (SA),OU=Service Accounts,OU=Users and Groups,DC=myco,DC=net',
致:

您需要用另一个反斜杠注释反斜杠。。。。嘘

bindDN: 'CN=myapp\, adserver01 (SA),OU=Service Accounts,OU=Users and Groups,DC=myco,DC=net',
bindDN: 'CN=myapp\\, adserver01 (SA),OU=Service Accounts,OU=Users and Groups,DC=myco,DC=net',