Apache-Httpd
mod_authnz_ldap 綁定為身份驗證使用者而不是匿名
我正在嘗試盡可能接近單一憑證。我們有一個 Web 應用程序,它有一組相當有限的可用身份驗證機制,但(幸運的是)允許管理員告訴它信任
REMOTE_USER
由httpd
.有沒有辦法配置 mod_authnz_ldap 以使用請求使用者的憑據進行身份驗證,而不僅僅是在匿名綁定或共享憑據之間進行選擇?
這是我目前擁有的:
<Location /> AuthzLDAPLogLevel debug AuthType Basic AuthBasicProvider ldap AuthName "Active Directory" AuthzLDAPAuthoritative off AuthLDAPBindDN CN=jad,DC=xxx,DC=com AuthLDAPBindPassword xxx AuthLDAPURL ldap://xxx.xxx.64.71/DC=xxx,DC=com?samaccountname?sub require valid-user </Location>
xxx
的標記修訂。基本上,上面的方法可以對使用者進行身份驗證,但它使用我的帳戶綁定到 AD。如果我嘗試註釋掉它AuthLDAPBindDN
,AuthLDAPBindPassword
它似乎試圖執行匿名綁定,AD 管理員已將其配置為被拒絕。我的問題是 apache 是否可以配置為使用身份驗證使用者的憑據,而不是讓我在匿名綁定或使用共享帳戶之間進行選擇(考慮到 AD 人員設置的策略,這也是不可能的)。對於他們被終止或離開的情況,使用一個人的帳戶顯然也不理想。
也許AuthLDAPInitialBindAsUser (Apache 2.3.6) 可以提供幫助:
確定伺服器是否使用 basic 進行初始 DN 查找 驗證使用者自己的使用者名,而不是匿名或使用 伺服器的硬編碼憑據
結合AuthLDAPInitialBindPattern,這樣的事情可能會成功(未經測試):
AuthType 基本 AuthBasicProvider ldap AuthName“活動目錄” AuthzLDAPAuthoritative 關閉 AuthLDAPInitialBindAsUser 開啟 AuthLDAPInitialBindPattern (.+) cn=$1,dc=com AuthLDAPURL ldap://xxx.xxx.64.71/DC=xxx,DC=com?samaccountname?sub 需要有效使用者