Мне было предложено предоставить веб-сервис для управления пользователями Active Directory через интрасеть. Мне сообщили, что LDAP рассматривается как уязвимость безопасности и не должна использоваться.
Учитывая это ограничение, мне удалось подключиться через ADSI с объектом DirectoryEntry, например так:
DirectoryEntry de = new DirectoryEntry();
de.Path = "WinNT://TheDomain.local";
de.Username = "NTUser1";
de.Password = "pwdpwdpwd2";
Я могу пройти через потомков этого DirectoryEntry, чтобы получить те, которые являются пользователями. На пользователях я вижу следующие основные свойства: UserFlags, MaxStorage, PasswordAge, PasswordExpired, LoginHours, FullName, Описание, BadPasswordAttempts, LastLogin, HomeDirectory, LoginScript, Профиль, HomeDirDrive, Параметры, PrimaryGroupID, Имя, MinPasswordLength, MinPasswordAgeLagethwordwordAgeAge , AutoUnlockInterval, LockoutObservationInterval, MaxBadPasswordsAllowed, objectSid.
Существует ряд свойств пользователя, которые видны в MMC Active Directory, которые недоступны из объекта DirectoryEntry, в том числе: LastName, NameSuffix, Department и т. Д. ...
Все эти другие свойства задокументированы в msdn как предоставляемые IADsUser (http://msdn.microsoft.com/en-us/library/aa746340%28VS.85%29.aspx).
1) Является ли LDAP на самом деле уязвимым протоколом? Больше, чем соединение ADSI (WinNT), показанное выше? LDAP, кажется, довольно распространен для этой цели.
2) Как я могу получить / установить эти другие свойства пользователя?
ТИА