Re: Получение данных о пользователе при наличии SID
От: NailSR Россия http://nailsr.spaces.live.com
Дата: 25.06.08 10:58
Оценка:
Здравствуйте, Mdel, Вы писали:

M>Имеем таблицу с перечислением SID доменных пользователей (AD, 2003 Server). Хотелось бы узнать, как можно реализовать получение данных о пользователе на основе его SID, и вывести это дело на страницу.


Я думаю надо использовать что-то вроде такого:

using System.DirectoryServices;

...

DirectoryEntry gentry = new DirectoryEntry(<AD host or empy to use by default>, <login>, <password>, AuthenticationTypes.ServerBind);

using (DirectorySearcher gsearch = new DirectorySearcher(gentry))
{
    for(<loop through all SIDs>)
    {
        gsearch.Filter = string.Format("(&(objectCategory=person)(objectClass=user)(objectsid={0}))", <sid>);

        SearchResult userEntry = gsearch.FindOne();

        if (userEntry != null)
        {
            foreach (DictionaryEntry prop in userEntry.Properties)
            {
            ...   
            }
        }
    }
}

По SID-у правда искать не приходилось, чаще по идентификатору пользователя (sAMAccountName).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.