2015-09-28 128 views
11

嘗試使用這個包:​​配置護照LDAP

我設法找到一個medawikiserver爲我公司的LDAP的設置(PHP)

$wgLDAPDomainNames    = array("COMPANY"); 
$wgLDAPGroupBaseDNs    = array("COMPANY"=>"dc=company,dc=se"); 
$wgLDAPAutoAuthDomain   = "COMPANY"; 
$wgLDAPGroupUseFullDN   = array("COMPANY"=>true); 
$wgLDAPServerNames    = array("COMPANY"=>"dcst.company.se"); 
$wgLDAPSearchStrings    = array("COMPANY" => "COMPANY\\USER-NAME"); 
$wgLDAPSearchAttributes   = array("COMPANY"=>"sAMAccountName"); 
$wgLDAPBaseDNs     = array("COMPANY"=>"dc=company,dc=se"); 
$wgLDAPEncryptionType   = array("COMPANY" => "ssl"); 
$wgMinimalPasswordLength   = 1; 

我需要這個映射到節點-包。我試過這個:

var opts = { 
    server: { 
    url: 'ldaps://dcst.company.se', 
    bindDn: 'dc=company,dc=se', 
    //bindCredentials: 'secret', 
    searchBase: 'dc=company,dc=se', 
    searchFilter: '(&(objectcategory=person)(objectclass=user)(|(samaccountname={{username}})(mail={{username}})))', 
    searchAttributes: ['displayName', 'mail'], 
    } 
}; 

我得到「壞請求」。這是從文檔:

badRequestMessage flash message for missing username/password (default: 'Missing credentials') 

我做錯了什麼?

+4

看起來像缺少請求正文中的用戶名/密碼字段。你可以發佈完整的護照代碼嗎? – hassansin

回答

7

您需要添加管理員憑據。以下是我的配置的工作原理:

var Strategy = require('passport-ldapauth').Strategy 
    , passport = require('passport') 
    , config = require('config') 
    , userLookup = require('./userLookup'); 

var ldapConfig = { 
    server: { 
    url: config.get('ldap.url'), 
    adminDn: config.get('ldap.adminDn'), 
    adminPassword: config.get('ldap.adminPassword'), 
    searchBase: config.get('ldap.searchBase'), 
    searchFilter: config.get('ldap.searchFilter') 
    } 
}; 

passport.use('ldap', new Strategy(ldapConfig, userLookup));