Пустое поле 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 (или свойство помощника пользователя страницы) вместо строковой переменной? Я не уверен, поможет ли это, но это по крайней мере более безопасно от опечаток.