将Active Directory与我的应用程序同步

ste*_*fox 9 asp.net ldap active-directory

我继承了一个具有自己的用户数据库和登录认证方案的应用程序,该方案无法替换.

现在需要与Active Directory集成.

我已经实现了混合模式(表单和AD)身份验证,我遇到的问题是保持用户同步

我已在用户数据库中为活动目录帐户名添加了一列.管理员需要在AD中创建用户,在我们的应用程序中创建它,然后在我们的应用程序中,选择匹配的AD用户...

这感觉很肮脏和天真,有什么更好的方法可以做到这一点.

Jos*_*osh 4

我建议的一件事是不要将帐户名存储在数据库中,而是将 AD 用户帐户的 GUID 存储在数据库中。然后,如果某些管理员更改了某些内容,即使用户名已更改,连接也会保留。

您可以使用sql server 中的 CLR 库sql 作业来定期同步 AD 和用户数据库之间的帐户。

您可以使用一个组,clr 库可以查找该组,拉入所有成员,然后自动同步 - 即根据 AD 组的所有权更新/创建/停用帐户。然后,您的管理员只需在 AD 中创建用户,授予他们访问组的权限,然后等待作业开始。(或者手动启动)

  • 如果用户更改域,SID 也会更改。根据 Microsoft 文档,“当为对象分配 GUID 时,它将终身保留该值。” http://technet.microsoft.com/en-us/library/cc961625.aspx。另请参阅http://serverfault.com/questions/105486/is-the-objectguid-unique-and-will-it-ever-change (3认同)