Используйте Active Directory для хранения данных - PullRequest
0 голосов
/ 05 января 2011

Мне интересно, является ли разумной идеей использовать Active Directory для хранения сущностей, связанных с приложением, когда не все типы сущностей являются традиционными сущностями AD, такими как организационная единица, пользователь, группа и т. Д.

На данный момент у меня есть схема базы данных, состоящая из таких вещей, как клиенты и пользователи.У каждого клиента могут быть свои отделы.Каждый отдел может иметь набор пользователей.У каждого пользователя могут быть имя, данные для аутентификации и т. Д. Коллега напомнил мне, что Active Directory уже имеет инфраструктуру для поддержки такого рода иерархий, поэтому перестройка этого с нуля может быть неоптимальной.что мне потребуется гораздо больше сущностей, чем просто клиенты, пользователи и так далее.Мне нужно будет хранить статистику, документы, контакты (которые не являются пользователями системы), а также другую информацию.Чтобы выбрать номер из воздуха, может быть 10-20 дополнительных типов объектов, которых еще нет в Active Directory.Эти типы объектов будут «связаны» с клиентами, пользователями и т. Д.Пользователи в этой системе не являются пользователями в моей локальной сети, но будут получать доступ к моему программному обеспечению через Интернет.

У меня есть только очень смутное понимание Active Directory, но, насколько я понимаю, мне придется расширитьСхема AD для хранения собственных сущностей.Мне нужно было бы добавить свойства к «Организационной единице», такие как «Список документов».

Альтернативным методом может быть использование организационных единиц, пользователей и групп в AD и наличие отдельной базы данных MSSQL для храненияостальные данные.Тогда моя база данных MSSQL должна была бы связать такие объекты, как «контакт», с конкретным подразделением или пользователем, используя его уникальный идентификатор или как он там называется.

Есть мысли по этому поводу?Разумно ли хранить сложные типы в AD, а не в базе данных MSSQL?

(Скорее всего, сущностей достаточно мало, чтобы в любом случае производительность не возникала)

1 Ответ

0 голосов
/ 05 января 2011

То, что вы описываете, безусловно, может быть сделано. Я видел это. Вы, вероятно, обнаружите, что AD очень тяжелый и за борт для такого использования. Управление и долгосрочное обслуживание будут очень дорогостоящими. Я бы не рекомендовал это. Использование базы данных, вероятно, является правильным решением для вас.

В качестве альтернативы, если у вас нет существующей базы данных или вы не хотите ее использовать, вы можете использовать Active Directory облегченные службы каталогов (AD LDS, ранее ADAM). Это было разработано, чтобы быть более легким каталогом, и работает в его собственной схеме, таким образом, вам не нужно изменять существующую инфраструктуру AD. Я использовал это в прошлом, и это намного легче поддерживать. Другое преимущество состоит в том, что он использует ту же платформу и SDK, что и AD.

...