Apache-2.2

LDAP Auth 檢查使用者所屬的組?

  • September 25, 2012

這是我要解決的問題。

我們有一個 mercurial 原始碼控制伺服器(Linux + Apache + mod_auth),我想對其進行配置,使其適用於 LDAP(現在它是 apache 的基本授權,密碼儲存在 .htpasswd 文件中)。我將開發人員放在 OU 中,名稱為“開發人員”

'OU=Developers,DC=us,DC=domain,DC=com'

問題是我們有各種各樣的項目,其中一些應該僅限於某些開發人員訪問。我可以在開發人員中放置不同的 OU,但我不能讓相同的使用者帳戶出現在多個 OU 中。同時我不喜歡每個使用者有多個帳戶(將來更難管理)

所以我在想是否可以授權 OU 和某些邏輯組?

就像我創建了 OU“開發人員”,然後創建了幾個 Windows 組 - 如 ProjectA、projectB、projectC,並將開發人員也分配給這些組。

是否可以配置 LDAP 基礎 dn,所以它也會查找組?

謝謝,德米特里

因此,我們在 OU 中擁有使用者OU=Developers,DC=us,DC=domain,DC=com,那麼某些位置也需要具有特定的組成員身份——例如CN=ProjectA,OU=Developers,DC=us,DC=domain,DC=com作為一個組。

沿著這些路線的東西應該​​可以解決問題..

<Location />
   AuthType basic
   AuthName "user message on login"
   AuthBasicProvider ldap
   AuthzLDAPAuthoritative on
   # This is your LDAP server configuration - if you can, use SSL (which requires
   # configuring either an LDAPTrustedGlobalCert or to set LDAPVerifyServerCert Off)
   # The search base DN is included here.
   AuthLDAPURL "ldaps://ldap-server.example.com:636/OU=Developers,DC=us,DC=domain,DC=com?cn"
   # This is the user account that will be used by Apache to bind to LDAP for auth checking.
   AuthLDAPBindDN "CN=ldapserviceaccount,OU=Developers,DC=us,DC=domain,DC=com"
   AuthLDAPBindPassword "passwordhere"
   # For just the / location, we'll force a valid login (any user account in the OU)
   Require valid-user
</Location>
<Location /project-a>
   # And here we'll configure a specific group for this location
   Require ldap-group CN=ProjectA,OU=Developers,DC=us,DC=domain,DC=com
</Location>

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