问题标签 [ldapauth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
2537 浏览

active-directory - 护照-ldapauth 无法正常工作

我已经通过此链接在本地系统中设置了 LDAP 服务器How To Install and Configure a Basic LDAP Server。我设法让 LDAP 服务器运行并能够通过phpldapadmin. 我添加了一个用户,如图所示在此处输入图像描述

为了确认 LDAP 服务器中的用户,我使用了以下命令

它要求我输入密码然后我输入密码并得到结果

然后我尝试使用passport-ldapauth模块。我为此编写的代码是

执行此代码后,我只check ldap看到terminal. 然后我提出console.log("user authenticated or not");来验证是否LdapStrategy是调用函数,但我在控制台中callback没有看到,但是。会有什么问题?为什么没有从 ldap 服务器得到任何响应?user authenticated or notcheck ldappassport-ldapaut

我正在使用 ubuntu 14.04 LTS。节点 --version 是 v0.10.28。

更新: 我也尝试了ldapauth模块,但没有运气我得到相同的结果,请检查上述网站的修改代码

这里我也没有得到服务器的任何响应,ldap服务器有问题吗?

0 投票
1 回答
2339 浏览

javascript - 如果 LDAP 用户属于特定组,则对他进行身份验证

在我的节点应用程序中,我有一个用例,我只需要对属于特定组的 LDAP 用户进行身份验证。如果用户不属于上述组,则身份验证应该失败。

我正在使用库ldapauth-fork进行 LDAP 身份验证。

我为过滤器尝试了各种方法,但它们都没有按预期工作。以下是我尝试过的尝试:

对于这种配置,no such user: "testuser"即使用户是该testGroup组的成员,我也总是会得到。

对于此配置,身份验证始终成功,即使组名是随机字符串。

那么,使身份验证工作的正确过滤字符串应该是什么?

0 投票
0 回答
95 浏览

node.js - 如何显示 ldaptuh 节点 jpegPhoto?

我在 node.js 中使用 ldapauth-fork 在 ldap 中获取用户信息,但是当我尝试获取 user.jpegPhoto 时,为什么它不能显示此图像?

我试过这个:

和这个:

这是所有 node.js 代码:

这是所有 node.js 代码,我在 node.js 中使用 ldapauth-fork 在 ldap 中获取用户信息,但是当我尝试获取 user.jpegPhoto 时,您无法显示此图像。

这是 index.html :

索引.html

0 投票
1 回答
1182 浏览

python-3.x - 如何正确验证 LDAP?

我正在开发一个必须使用 LDAP 身份验证的项目。在添加到我的 Flask 应用程序之前,我在 Stack Overflow 上找到要练习的链接后,正在使用 ldap.forumsys.com 上的服务器。

如果我在我的 python 代码中运行 ldapsearch bash 命令,我会得到一大堆用户名(特斯拉等)及其相关数据(虽然没有密码哈希)。我能够提取用户名/用户数据,如下所示:

但后来我意识到,我的LDAP 和数据库不一样。我希望找到可以用来验证用户登录信息的密码哈希。

然后我尝试了 python-ldap3 模块:

不幸的是,在调用 conn.entries 之后,我似乎无法在列表中返回任何数据。

我可以看到 ldap3 模块绑定了连接。ldapsearch 命令是否也绑定?如果没有密码哈希,我应该如何验证客户端用户输入的用户名/密码?

非常感谢大家。

0 投票
1 回答
2164 浏览

node.js - ldapauth-fork InvalidCredentialsError

我正在尝试使用 ldapauth-fork 对 LDAP 用户进行身份验证。我在使用 LDAP 管理员帐户时遇到问题,虽然我知道它是正确的并且可以与 LDAP 浏览器一起正常工作,但我无法使其与 ldapauth-fork 一起工作。

这是得到的错误

InvalidCredentialsError:80090308:LdapErr:DSID-0C09042F,注释:AcceptSecurityContext 错误,数据 52e,v2580

lde_message:'80090308:LdapErr:DSID-0C09042F,注释:AcceptSecurityContext 错误,数据 52e,v2580\u0000',lde_dn:空

任何帮助表示赞赏。

0 投票
1 回答
424 浏览

node.js - 如何正确使用带 passport_ldapauth 的会话?

我已经阅读了文档,并有一个 expressjs 应用程序使用 passport_ldapauth 和会话来处理登录和注销端点。会话使用 sequelize 存储到数据库中,并且仅包含 sessionID、到期时间、路径和域的 cookie 存储到浏览器。

我现在正在尝试保护我的其他端点。在控制台中,我可以看到反序列化程序首先被命中,并且正确的查询被发送到数据库的会话表,通过正确的会话 ID 查找我的用户并找到它。

但是随后 - passport_ldapauth 被调用,由于没有密码,我收到一条“缺少凭据”的闪烁消息和 400 返回。

我认为这就是 kav 在他的第二条评论(https://github.com/vesse/passport-ldapauth/issues/53)中所指的,但没有得到答案。

也许我让这件事复杂化了?一旦我让用户登录我的其他路线,我是否应该简单地切换到“会话”策略(如果存在)而不是“ldapauth”?或者这应该有效而不是?还是我只是做错了什么?

这是有问题的路线:

为了帮助我,还需要我提供什么?

也许我的序列化器或反序列化器不好?它们似乎适用于登录/注销端点。见下文:

请注意,从 Active Directory 返回的用户对象是 ENORMOUS,这就是我将整个事情重写为最少用户名和 sessionID 的原因。我不确定,但我认为 findOne 返回的用户可能是也可能不是数据库“数据”列中包含的“护照”对象。唔。我需要确保它是吗?用户可能是数据库中的整行。

0 投票
1 回答
1246 浏览

node.js - NodeJS express passport-ldapauth 总是返回“无效的用户名/密码”

我在我的 Web 应用程序中使用 passport-ldapauth npm 进行 LDAP / AD 身份验证,但我总是得到“无效的用户名/密码”,尽管我确信用户名和密码是正确的。这是我的代码

请帮帮我。

0 投票
0 回答
648 浏览

node.js - 来自 Node js / Express / passport-ldapauth 中 ActiveDirectory 的 ThumbnailPhoto

正在我们系统中处理LDAP Active Directory登录。如果用户在那里,我需要显示用户名、电子邮件和个人资料图片。问题是我没有从响应中获得与个人资料图片相关的任何属性。经过一些研究,我发现有一个属性称为thumbnailPhoto用户的缩略图照片。但在我的回复中没有得到它。我在activedirectorypassport-ldapauth npms中都尝试了不同的代码,但没有运气。

所以目前我想坚持使用passport-ldapauth npm。这是我的代码。

用户需要thumbnailPhoto提供所有其他属性的个人资料图片(我想它需要)。

我试图['displayName', 'mail','thumbnailPhoto']在 OPTS 中给出 searchAttributes: ,这只会给我给定的 Attributes 并且正在获取displayNamemail但不是thumbnailPhoto

任何帮助将不胜感激,谢谢。

0 投票
1 回答
869 浏览

django - Django LDAP 组搜索问题

我正在尝试在 Django 中实现 LDAP。我可以在 Django 中使用 LDAP 登录。但是当我试图限制某些特定组的访问时,我无法再登录。

这是我的代码:

设置.py

如果我关闭Require_Group,我可以成功登录。但如果我打开,就会出现错误。(我在群里)日志就像

我从我的组织获得的信息是

我在哪里做错了?

0 投票
2 回答
271 浏览

node.js - 为什么 Passport 在连接失败时会重试身份验证?

我有一个 Node.js & Express 应用程序,使用Passportpassport-ldapauth进行 LDAP 身份验证。

一切正常……除非它无法连接到 LDAP 服务器(它可能处于脱机状态,或者 IP 地址错误等)。在那种情况下,passport.authenticate以某种方式执行了两次(我只是不知道为什么),结果,我得到了Error: Can't set headers after they are sent.

这些是我的 server.js 和 routes.js 的相关部分:

如果认证成功,控制台只显示SUCCESS.

如果用户输入了错误的用户名或密码,则会显示CREDENTIALS,并再次加载登录表单,显示“错误的凭据!” 信息。控制台上没有出现错误。

但是,如果 LDAP 服务器关闭,我会在控制台上得到ERROR 两次。(为什么?!)然后很明显,因为它正在res.render使用相同的响应对象做一秒钟,我得到了Can't set headers after they are sent错误。而且由于这是第二次尝试失败,用户仍然会获得带有正确错误消息的表单登录(在第一次尝试时呈现)。

如果我将if (err)块更改为 donext(err)而不是res.render()...第一次尝试后重试。

另外,我注意到handleErrorsAsFailuresldapauth 中有一个选项。如果我启用它,那么它会CREDENTIALS在控制台上显示两次连接问题,如果我实际输入了错误的凭据,只会显示一次。

什么可能导致此问题?