Apache-2.2

Apache mod_auth_basic 和排序

  • October 11, 2011

我有 Apache 設置通過 ldap 為我的使用者使用活動目錄進行身份驗證。有一些“系統”使用者(用於自動建構測試)是手動設置並通過文件進行身份驗證的。

AuthBasicProvider ldap file

我遇到的問題是 Active Directory 框不會因為維護或其他原因偶爾關閉,我不希望我的“系統”使用者在那段時間被拒絕訪問。我希望 Apache 嘗試使用文件和 THEN ldap 進行身份驗證,但這似乎是不可能的。根據http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html,“處理順序在模組的原始碼中確定,不可配置。”

這似乎不正確。我認為人們(經常)想要指定身份驗證提供者的順序(如果不是出於我想要的原因,那麼出於其他原因)。沒有破解原始碼就沒有辦法做到這一點嗎?

ps 將配置更改為AuthBasicProvider file ldap沒有區別。

根據http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html,“處理順序在模組的原始碼中確定,不可配置。”

上面的引用不是在談論你在問什麼:

僅當與未配置該 指令mod_auth_basic的第三方模組組合時才需要這樣做。使用此類模組時,處理順序在模組的原始碼中確定,不可配置。AuthBasicProvider

從 2.2 版開始,Apache 允許使用多個提供程序。我已經在我的系統(Apache 2.2.20)上進行了測試,它工作正常:

<Location />
   AuthType Basic
   AuthBasicProvider file ldap
   AuthUserFile /etc/httpd/passwords
   AuthzLDAPAuthoritative Off
   AuthLDAPURL ldap://ip:389/dc=x,dc=y?cn
   AuthLDAPBindDN cn=anonymous,ou=z,dc=x,dc=y
   AuthLDAPBindPassword pa$$w0rd
   AuthName "Restricted Area"

   AuthzLDAPGroupBase      ou=z,dc=x,dc=y
   AuthzLDAPGroupkey       cn
   AuthzLDAPMemberKey      member
   AuthzLDAPSetGroupAuth   user
   require valid-user
   AuthzLDAPLogLevel       error
</Location>

停止 OpenLDAP,我仍然可以使用/etc/httpd/passwords.

引用自:https://serverfault.com/questions/278276