![LDAP 身份验证是否检查用户所属的组?](https://linux22.com/image/596781/LDAP%20%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%98%AF%E5%90%A6%E6%A3%80%E6%9F%A5%E7%94%A8%E6%88%B7%E6%89%80%E5%B1%9E%E7%9A%84%E7%BB%84%EF%BC%9F.png)
这是我想要解决的问题。
我们有一个 mercurial 源代码控制服务器 (Linux + Apache + mod_auth),我想配置它以便它能够针对 LDAP 工作(目前它是 apache 上的基本授权,密码存储在 .htpasswd 文件中)。我将开发人员放在名为“Developers”的 OU 中
'OU=Developers,DC=us,DC=domain,DC=com'
问题是我们有多个项目,其中一些项目应该只限制某些开发人员的访问权限。我可以在开发人员中放置不同的 OU,但我不能让同一个用户帐户出现在多个 OU 中。同时我不喜欢每个用户有多个帐户(将来更难管理)
所以我在想是否可以针对 OU 和某些逻辑组进行授权?
就像我创建了 OU“开发人员”,然后创建了几个 Windows 组 - 例如 ProjectA、projectB、projectC,并将开发人员分配到这些组。
是否可以配置 LDAP 基本 DN,以便它也能查找组?
谢谢,德米特里
答案1
因此,我们在 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>