Apache-2.2
Apache mod_auth_basic 和排序
我有 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
.