我正在为客户端编写一个 Intranet 应用程序,我想让他们能够通过管理界面进行配置,用户和用户组可以访问某些区域。我想知道的是存储对分配给 Intranet 区域的用户或组的引用的最佳方式。
我应该使用域\用户名和域\组名字符串,还是应该使用完全限定的广告名称,即ou=computer room;cn=blah等?
我将把引用存储在 SQL 中。
我正在为客户端编写一个 Intranet 应用程序,我想让他们能够通过管理界面进行配置,用户和用户组可以访问某些区域。我想知道的是存储对分配给 Intranet 区域的用户或组的引用的最佳方式。
我应该使用域\用户名和域\组名字符串,还是应该使用完全限定的广告名称,即ou=computer room;cn=blah等?
我将把引用存储在 SQL 中。
就个人而言,我认为“域\用户名”格式具有足够的可读性。
此外,如果您直接编辑 SQL 表,您可以很容易地为用户插入一条记录以进行测试或调试。
如果您想绝对确保您拥有正确的用户/组,您可以使用 SID(可分配权限的活动目录中任何对象上存在的安全标识符,以及它的 GUID)
我不确定应用程序的上下文是什么,但也许可以考虑使用 Active Directory 安全性来阻止用户去不应该去的地方,或者如果它不是一个高容量站点,其中一些可能可以完成具有集成身份验证,并在 sql 上进行安全验证。
我对 LDAP 查询和 AD 感到沮丧,因为不同的域控制器有时会给出不同的答案,甚至找不到对象,或者要求您在查询 AD 之前登录。
如果组被移动或删除/重新创建,我会使用 domain\group。面对 OU 结构的变化,使用 CN 很脆弱。SID 不是人类可读的,如果对象被删除/重新创建,SID 就会中断。