Я разрабатываю сайт интрасети asp.net с помощью ActiveDirectoryMembershipProvider и SqlProfileProvider.ProfileProvider: получить список всех профилей
Одним из требований моего веб-сайта является страница «Дни рождения», которая потребует от меня перечислить все профили и получить информацию о днях рождения от нее.
Я подошел к проблеме следующим образом:
- вызвать Membership.GetAllUsers() статический метод;
- Итерация по списку пользователей и получить профиль от имени пользователя участника
Этот подход, однако, не по следующим причинам:
- веб-приложение будет олицетворении вошедшего пользователя получить идентификационные данные AD (идентификация impersonate = "true" в файле web.config), поэтому я получаю исключение «access denied» при попытке вызвать GetAllUsers
- Если я попытаюсь заставить webapp выдавать себя за суперпользователя то AD возвращает имена пользователей в качестве имени пользователя @ domain-name формат, но в моем провайдере профиля они были первоначально сохранены как имя домена \ имя пользователя.
Итак, как бы вы могли решить эту проблему, чтобы получить весь список профилей для любого члена организации?
Yeap- как всегда есть хороший взгляд вокруг существующих методов, прежде чем пытаться найти другой путь. – RichardOD