我在我的NODEJS + ExpressJS应用程序中使用passport-ldapauth。 我正在尝试获取经过身份验证的用户的所有NESTED成员的列表,但无法弄清楚该怎么做。
我的用户“ X”的成员资格为“ ROL-B”,而ROL-B的成员资格为其他10个组。 现在,经过身份验证后,当它返回经过身份验证的用户对象时,我仅将ROL-B视为该组的成员。 我有什么办法可以获取用户所属的嵌套组的完整列表?
这是我的配置
"adAuthConfig": {
"url": "ldap://localhost:8076",
"bindDn": "CN=svcAccount,OU=Services,OU=Accounts,DC=misd,DC=net",
"bindCredentials": "XXXXXXXXXXXXXXX",
"searchBase": "OU=Accounts,DC=misd,DC=net",
"searchFilter": "(userPrincipalName={{username}})"
},
答案 0 :(得分:0)
我还没有尝试使用passport-ldapauth
,但这对我直接使用ldapauth-fork
有用:
const LDAP_MATCHING_RULE_IN_CHAIN = '1.2.840.113556.1.4.1941'
const config = { ... your config here ... }
config.groupSearchBase = config.searchBase
config.groupSearchFilter = `(&(objectclass=group)(member:${LDAP_MATCHING_RULE_IN_CHAIN}:={{dn}}))`
new LdapAuth(config)
// etc
这会将_groups
属性添加到LdapAuth.authenticate
结果中。这包括所有嵌套的组。