gpt4 book ai didi

ldap - LDAP 是否在绑定(bind)后提供 token ,因此我不必每次都发送凭据?

转载 作者:行者123 更新时间:2023-12-03 07:30:56 27 4
gpt4 key购买 nike

我有一个网络应用程序(PHP,但并不重要)。它使用 LDAP 进行身份验证(已经运行),并且允许用户搜索 LDAP(已经运行)。

但是在搜索时,我使用通用进程帐户来绑定(bind)(),然后运行搜索()。

我想要使用登录的 LDAP 帐户与绑定(bind)搜索的帐户相同。但我认为做到这一点的唯一方法是将用户的凭据存储在 session 中(不好!)。

简而言之:我可以获得“状态/ session /??”来自 LDAP 的 token ,绑定(bind)(),然后在后续的 http 请求中搜索()?

(顺便说一句,使用 Active Directory。)

最佳答案

Basic LDAP 不提供类似的功能。您在绑定(bind)时提供的凭据将用于连接的其余部分,因此,如果您可以在多个 HTTP 请求中保持 LDAP 连接打开(并在您运行的多个服务器作业之间共享 LDAP 连接),那么您可以避免保存凭据.

有各种 LDAP 扩展(包括 Active Directory 中的几个),因此其中之一可能会添加跨连接 session ,但如果是这样,我不知道。

作为一种解决方法,由于 Active Directory 支持 GSSAPI 并且由于 Kerberos 的工作方式,您应该能够使用用户的凭据来请求用于访问 LDAP 的 Kerberos 票证,然后将该票证存储为您的“状态/ session /??” token 。此 Kerberos 票证仅对访问 LDAP 有效,并且会自动过期,因此这可以避免在 session 中存储用户凭据的陷阱。我不知道您的 LDAP 库是否支持 GSSAPI,并且是否会给您足够的控制权来执行此操作。

关于ldap - LDAP 是否在绑定(bind)后提供 token ,因此我不必每次都发送凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1488401/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com