Пустое поле Request.ServerVariables["LOGON_USER"] при использовании сопоставления с подстановочными знаками в ASP.NET

Когда я настраиваю карты приложений с подстановочными знаками, чтобы asp.net обрабатывал запросы (устанавливая путь к исполняемому файлу C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll) LOGON_USER пусто, когда я получаю доступ к странице через site.com/directory/ - site.com/directory/default.aspx возвращает правильный LOGON_USER значение.

Как я могу это исправить, не снимая карты приложений?

Простой тест:

<%# Request.ServerVariables["LOGON_USER"] %>

Результаты в DOMAIN\UserName когда карты приложений не настроены, но пустая строка, когда они есть.

Редактировать:

Сайт использует проверку подлинности с помощью форм для администрирования, но мне нужно выполнять запросы LDAP на основе текущего пользователя (и для поиска в Active Directory) - анонимный доступ отключен, а встроенная проверка подлинности Windows включена.

1 ответ

Я никогда не видел этого раньше, и я почти всегда подстановочный знак, но есть ли причина, по которой вы не используете Request.User (или свойство помощника пользователя страницы) вместо строковой переменной? Я не уверен, поможет ли это, но это по крайней мере более безопасно от опечаток.

Другие вопросы по тегам