【问题标题】:BasicAuth with "ldap file" providers doesn't work for users in file带有“ldap 文件”提供程序的 BasicAuth 不适用于文件中的用户
【发布时间】:2018-08-13 14:58:46
【问题描述】:

我有一个主机,经过身份验证的用户需要在某个 ldap 组中。这非常有效。之后我需要一个外部用户,我将其放在本地文件中,但这个用户不起作用。

当我注释掉用户工作的所有 ldap 行时,文件被正确创建并可由 Apache 2.2 访问,但是当我添加 ldap 时,一切都适用于 ldap 用户,但不适用于文件用户。

当我尝试使用密码错误的本地文件用户登录时,我像往常一样再次弹出登录窗口,但是当我插入正确的凭据时,我得到“需要授权 此服务器无法验证您是否有权访问所请求的文档。要么您提供了错误的凭据(例如,错误的密码),要么您的浏览器不了解如何提供所需的凭据。"

下面是我在 Apache 2.2 上的设置

        <Location "/">
            Deny from all

            AuthType Basic
            AuthName "My Auth"
            AuthBasicProvider ldap file
            AuthLDAPURL LDAP_URL
            AuthUserFile "path/to/pass/file"

            Require user file_user
            Require ldap-group cn=LDAP Group,cn=Groups,dc=DC,dc=org
            Require ldap-user ldap_user_outside_group

            Satisfy any
    </Location>

【问题讨论】:

  • 您的用户是否存在于 LDAP 中但密码不同,还是完全不存在于 LDAP 中?
  • LDAP 中没有它。这是我添加的全新用户,仅用于文件中的测试目的

标签: apache server ldap basic-authentication apache2.2


【解决方案1】:

您可能需要AuthzLDAPAuthoritative 以允许匹配基于 ldap 的 Require 指令的失败不会是致命的。通过 2.4 的内部改进,这种指令在以后的版本中已过时。

【讨论】:

  • 就是这样。谢谢。
猜你喜欢
  • 2017-01-02
  • 2020-09-15
  • 2021-09-07
  • 2021-11-05
  • 2011-12-23
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多