У меня есть классическое приложение ASP, которое я хочу запускать под определенной учетной записью / идентификатором Windows, например "MEME". Виртуальная корневая аутентификация приложения asp является анонимной только (другие типы аутентификации отключены), поскольку приложение будет выполнять аутентификацию с помощью формы. Фильтр должен принудительно настроить идентификацию приложения на MEME (IUSR не имеет разрешений на выполнение всего, что мне нужно, например, открыть диспетчер служб и т. Д.).
У меня есть фильтр isapi, и я зарегистрировал событие SF_NOTIFY_AUTHENTICATION
. Событие запускается, и фильтр устанавливает pszUser = "MEME"
(большую часть времени, а иногда и другую учетную запись MEME2) и pszPassword = "memepass"
. Но приложение работает под идентификатором IUSR. IIS7 игнорирует настройки pszUser / pszPassword.
Я могу установить идентификатор приложения статически, редактируя виртуальный корень, свойства adv, Physical Path Credentials = "MEME" / "memepass", и это работает, но это статично, и мне нужно определить MEME или MEME2 во время выполнения.
Если я включу базовую аутентификацию, тогда pszuser / pszpassword, установленный в фильтре, будет работать правильно, но у меня не будет всплывающих диалоговых окон авторизации на стороне клиента.
Итак, как мне заставить фильтр isapi установить идентификатор приложения на MEME (или любую другую учетную запись win)?
У меня есть и другие события типа SF_NOTIFY_PREPROC_HEADERS
.