Пользовательские профили / атрибуты Active Directory? - PullRequest
6 голосов
/ 09 марта 2010

В настоящее время я использую ActiveDirectoryMembershipProvider только для аутентификации во внутреннем бизнес-приложении, встроенном в asp.net. Это работает как шарм.

Сейчас я хочу добавить некоторые функции для обработки информации пользовательского профиля для пользователя, в идеале также хранящейся в Active Directory.

Для простого примера давайте просто скажем, что пользовательский атрибут - FavoriteColor. Тогда целью моего приложения было бы чтение этого пользовательского атрибута для аутентифицированного пользователя.

Я немного заглянул в ADAM. Похоже, это было бы здорово для провайдера ролей, но я не нашел ничего, что указывало бы на то, что он будет работать хорошо для провайдера профилей или даже если бы он позволял мне хранить пользовательские атрибуты, такие как FavoriteColor. Может кто знает лучше?

Я также довольно новичок в Active Directory, так что, возможно, есть даже опция для хранения пользовательских атрибутов пользователя (например, FavoriteColor) внутри него?

В общем, я просто ищу идеи о том, как лучше всего это реализовать?

Спасибо!

1 Ответ

7 голосов
/ 09 марта 2010

Да, такой атрибут можно добавить в объект пользователя AD, но вы должны быть очень осторожны. Изменения, сделанные при изменении схемы, не могут быть отменены. Слишком легко серьезно повредить дерево Active Directory.

Чтобы внести изменения в схему, вы можете использовать оснастку MMC редактора схем Active Directory. Вы должны зарегистрировать оснастку, прежде чем использовать ее. Чтобы зарегистрировать редактор схемы Active Directory, откройте командную строку, введите regsvr32 schmmgmt.dll

Затем вы можете загрузить оснастку в MMC, добавить новый атрибут FavouriteColour и связать его с классом пользователя.

Если вы действительно не знаете, что делаете, возможно, безопаснее использовать таблицу БД для таких полей. На этом сайте есть дополнительная информация.

...