如何使用多个密码scheme在OpenLDAP中validation用户?

我已经看到这个多OU的问题,以及没有后,但没有一个很好的解释,它并不真正解决问题。

我希望能够允许用户在局域网(OpenLDAP userPassword {SHA1} …属性)上使用标准密码进行身份validation,但也允许一些用户通过SASL Passthrough进行身份validation,其中userPassword属性使用{SASL } user@realm 。 OpenVPN服务器设置为OU=vpnpeople,dc=corp,dc=com的LDAP基础,因此人们无法使用其LAN口令进行身份validation。

我想到的是将OU=people,dc=corp,com的用户复制到OU=vpnpeople,dc=corp,com并将userPassword属性设置为{SASL} user@realm的稍微有问题的方法。

我对此解决scheme感到非常满意,直到我意识到使用dc=corp,dc=com的LDAPsearch基础的LAN上的每个应用程序现在都必须排除OU=vpnpeople..或者明确列出允许用户使用的OU可以validation…呃…

所以,回到制图板。 在OpenLDAP中为同一个人使用多种身份validation方法的好方法是什么?

更新重新:ACL

其中10.1.1.2将是VPN服务器…

 access to dn.subtree="OU=vpnpeople,dc=example,dc=com" by peername.ip=10.1.1.2 anonymous read by * none 

在ou = vpnpeople,dc = corp,dc = com子树上添加一个ACL条目,该子树只允许admin和vpn服务器用来访问它的服务帐户。