Книга: C# для профессионалов. Том II
Поиск объектов User
Поиск объектов User
Обработчик для кнопки поиска вызывает вспомогательный метод FillResult()
:
private void buttonSearch_Click(object render, System.EventArgs e) {
try {
FillResult();
} catch (Exception ex) {
MessageBox.Show("Check your input: " + ex.Message)
}
}
В методе FillResult()
выполняется обычный поиск в полном домене активного каталога, как мы видели раньше. SearchScope
задается как Subtree
, Filter
для строки мы получаем из TextBox
, а свойства, которые должны быть загружены в кэш, задаются значениями, которые пользователь выбирает в окне списка
protected void FillResult() {
using (DirectoryEntry root = new DirectoryEntry()) {
root.Username = username;
root.Password = password;
root.Path = "LDAP://" + hostname + defaultNamingContext;
using (DirectorySearcher searcher = new DirectorySearcher()) {
seacher.SearchRoot = root;
searcher.SearchScope = SearchScope.Subtree;
searcher.Filter = textboxfilter.Text;
searcher.PropertiesToLoad.AddRange(GetProperties());
SearchResultCollection results = searcher.FindbAll();
StringBuilder summary = new StringBuilder();
foreach (SearchResult result in results) {
foreach (string propName in result.Properties.PropertyNames) {
foreach (string s in result.Properties[propName]) {
summary.Append(" " + propName + ": " + s + "rn");
}
}
summary.Append("rn");
}
textBoxResults.Text = summary.ToString();
}
}
}
Запустив приложение, мы получим список всех объектов, которые прошли через фильтр:
- Поиск объектов пользователей
- Иерархия объектов в InterBase
- Имена объектов длиной 68 символов
- Создание объектов Collection
- Chapter 15. Graphical User Interfaces for Iptables
- User-land setup
- Compiling the user-land applications
- User specified chains
- User-land states
- Setting up user specified chains in the filter table
- 13.3.4. Поиск и замена текста
- Фильтры и поиск