2012-05-23 2 views
3

Я обновляю код, который взаимодействует с AD в нашем приложении. В текущем коде используется интерфейс ActiveD. Я меняю код на использование пространства имен System.DirectoryServices.AccountManagement. Наше приложение позволяет пользователю указывать пароль. Это сохраняется в AD под определенным пользователем параметром. Я знаю, что могу сделать это с помощью метода DirectoryEntry.Invoke("put").UserPrincipal эквивалент DirectoryEntry.Invoke?

Есть ли способ сделать это с помощью UserPrincipal, или мне нужно вызвать метод GetUnderlyingObject, а затем вызов DirectoryEntry.Invoke("put")?

Любые предложения/комментарии будут оценены.

ответ

4

Класс UserPrincipal расширяемый, поэтому вы можете «накрыть» больше свойств базового объекта DirectoryEntry прямо на вашей учетной записи пользователя.

Используя эту технику расширяемости, которая описана в статье MSDN Managing Directory Security Principals in the .NET Framework 3.5, вы должны также иметь возможность предоставлять пользовательский атрибут (который я предполагаю, как вы храните, что подсказку для пароля в вашем DirectoryEntry) на расширенном UserPrincipal класс.

+0

Удивительный! Благодарю. –

Смежные вопросы