Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ошибка при использовании System.DirectoryServices.AccountManagement на IIS
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть сайт (FW 4.0) с настроенной windows-аутентификацией. В web.config имперсонализация включена. На сайт заходят доменные пользователи и имя пользователя отображается в виде Domain\IvanovAA. А нужно получить ФИО на русском языке. Для этого в проекте была подключена библиотека: Код: vbnet 1. На студийном веб-сервере все работает как нужно и при помощи свойства Код: vbnet 1. получаю ФИО на русском. При переносе на IIS сайт падает с ошибкой на строке, которая должна вернуть ФИО: Код: vbnet 1. В чем может быть проблема? Может быть в том, что IIS работает под учетной записью с недостаточными правами? Подскажите, пожалуйста, что нужно донастроить.. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2013, 11:19 |
|
||
|
Ошибка при использовании System.DirectoryServices.AccountManagement на IIS
|
|||
|---|---|---|---|
|
#18+
Да, есть такое дело. Под IIS нестабильная работа AccountManagement... Давно копал ответ на этот вопрос, что-то с правами основного потока там было. Вообщем, воркэраунд такой: забить на AccountManagement и использовать DirectoryEntry, работает без проблем. Вот пример . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2013, 13:04 |
|
||
|
Ошибка при использовании System.DirectoryServices.AccountManagement на IIS
|
|||
|---|---|---|---|
|
#18+
Но самое лучшее - это не лезть в AD на каждый чих, а организовать синхронизацию в БД. И тогда ты сможешь брать ФИО прям из базы без обращений к AD прямо по сидам. Второй плюс в том, что на этом уже можно строить полноценный механизм ролей (пишется свой провайдер ролей). 1. Вот так получаем на лету сид. Код: c# 1. 2. 3. 4. 5. 6. 7. 2. Лезем в БД и ищем по сиду юзера. 3. Отображаем его ФИО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2013, 13:08 |
|
||
|
Ошибка при использовании System.DirectoryServices.AccountManagement на IIS
|
|||
|---|---|---|---|
|
#18+
МСУ, спасибо большое! Через DirectoryEntry нормально заработало. Осталось сделать CLR для синхронизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 10:51 |
|
||
|
Ошибка при использовании System.DirectoryServices.AccountManagement на IIS
|
|||
|---|---|---|---|
|
#18+
Зачем CLR? :) Тупо хранимка на джобе или консольная утилита на шедулере. Проще пареной репы. Ну если сильно захочется CLR, вот тут (или тут ) делал как-то готовую сборку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2013, 11:02 |
|
||
|
Ошибка при использовании System.DirectoryServices.AccountManagement на IIS
|
|||
|---|---|---|---|
|
#18+
Первое решение вопроса. PrincipalContext context = new PrincipalContext(ContextType.Domain, "NameDomain", "UserName", "UserPassword"); UserPrincipal User = UserPrincipal.FindByIdentity(context, Environment.UserName); HyperLinkUser.Text = User.DisplayName; Второе скорей всего, как в AD активируете пользователя IIS тогда все заработает без логина и пароля. ( нужно проверить ) Не спорю самое наверно лучшее решение настроить синхронизацию с БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2013, 10:15 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38437929&tid=1358012]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 364ms |

| 0 / 0 |
