我们的网络应用程序正在使用 LDAP成员资格提供程序对Active Directory中的用户进行身份验证和注册。为了允许用户提供其他应用程序中存在的用户名,我们需要在其用户名中添加一个前缀,它应该尽可能透明和无痛。
我需要的是一种扩展LDAP成员资格提供程序的方法,以便能够在成员身份验证或注册之前向用户名添加(连接)前缀。例如,如果用户输入是应用程序1中的“ JohnS ”...我想要进行身份验证:“ App1_JohnS ”。
我如何扩展会员资格来实现这一目标?知道在验证和注册(创建用户)之前触发了什么?
更新: 每个Web应用程序在AD中都有一个“OU”,用于创建用户和进行身份验证。但由于它只是一个Active Directory控制器,因此用户名必须是唯一的。我们需要使用成员资格提供程序解决此问题,而不是添加更多AD。
答案 0 :(得分:0)
当您构建搜索查询字符串时,为什么不将前缀附加到您要搜索的DN(或Uid)?
如果您遇到无法修改的应用程序,那么我建议使用AD组来实现该功能 - 您使用单个用户帐户对AD进行身份验证。然后,如果用户具有组集,则可以为其检索所有属性,然后授予对相应应用程序的访问权限。
修改用户所在的组对于您的AD管理员来说是一件小事,或者如果您对该目录具有写入权限,则可以自行完成。