2011-01-05 76 views
0

我想知道如果使用活动目录存储与应用程序相关的实体是一种理智的想法,但并非所有实体类型都是传统的AD实体,例如组织单位,用户,组,等等。使用活动目录存储数据

目前,我有一个数据库模式组成的东西,如客户和用户。每个客户都可以拥有自己的部门。每个部门可以有一组用户。每个用户都可以拥有一个名称,身份验证细节等。一位同事提醒我Active Directory已经有支持这种层次结构的基础结构,因此从头开始重建可能不是最佳选择。

现在,我的问题是,我将需要更多的实体,而不仅仅是客户,用户等。我将不得不存储统计信息,文档,联系人(不是系统中的用户)以及其他信息。要轻松选择一个数字,可能会有10-20个额外的实体类型在Active Directory中不存在。这些实体类型将被“链接”到客户,用户等等。该系统中的用户不是本地网络中的用户,而是通过互联网访问我的软件。

我对活动目录只有非常模糊的理解,但据我所知,我将不得不扩展AD模式来存储我自己的实体。我将不得不添加属性到“组织单位”,如“文件列表”。

另一种方法可以是依靠AD中的组织单位,用户和组,并具有单独的MSSQL数据库来存储剩余的数据。然后,我的MSSQL数据库必须使用它的唯一标识符或任何它所称的链接将实体(如'联系人')链接到特定的OU或用户。

对此有何看法?将复杂类型存储在AD中而不是MSSQL数据库中是否明智?

(实体是最有可能很少,足使性能不成问题在任何情况下)

回答

0

你所描述可以做得到。我已经看过了。你可能会发现AD非常沉重,并且为了这样的使用而过度使用。管理和长期维护将非常昂贵。我不会推荐它。使用数据库可能是适合您的解决方案。另外,如果你没有现有的数据库或者不想暗示其中一个,你可以使用Active Directory Lightweight Directory Services(AD LDS,以前称为ADAM)。这被设计成一个更轻量级的目录,并且运行在自己的模式中,因此您不必更改现有的AD基础架构。我过去曾经使用过,而且维护起来要容易得多。另一个优点是它使用与AD相同的框架和SDK。

+0

有趣! – 2011-01-05 15:23:49

+0

我使用过这个,并在这个场景中推荐ADAM over Database – Raymund 2011-01-06 01:21:46

+0

Raymund,小心描述为什么你推荐ADAM over数据库?说实话,我有点难以理解为什么我应该在ADAM中存储数据,只是因为ADAM中已有20个实体中已有2个。 – John 2011-01-07 07:27:10