Как разрешить пользователям Mac и Windows менять свой пароль AD? - PullRequest
2 голосов
/ 28 января 2010

Мне нужно найти пример веб-приложения, предпочтительно ASP.NET, но подойдет любой другой веб-язык, который позволяет пользователям Mac и Windows менять свой пароль AD.

Подойдет любая техника, приложение или исходный код.

P.S .: наши компьютеры Mac не подключены к AD, и у нас также есть пользователи Windows.

Спасибо!

1 Ответ

1 голос
/ 28 января 2010

Соответствующая библиотека для просмотра: System.DirectoryServices . Нечто подобное в вашем веб-приложении поможет:

// Elsewhere in your code:
using System.DirectoryServices;

// ...

string u = "userToFind"; // User to look for goes here.
DirectoryEntry de = GetDirectoryObject();
DirectorySearcher s = new DirectorySearcher();

s.SearchRoot = de;
s.Filter = "(&(objectClass=user)(SAMAccountName=" + u + "))";
s.SearchScope = SearchScope.Subtree;

SearchResult r = s.FindOne();

// Connect with user's credentials.
de = (r != null) ? new DirectoryEntry(
  r.Path, "user", "pwd", AuthenticationTypes.Secure) : null;

// ...

try {
   // Change the password.
   de.Invoke("ChangePassword", new object[]{strOldPassword, strNewPassword});
}
catch (Exception ex) {
   Debug.WriteLine("Error changing password. Reason: " + ex.Message);
}
...