「MEME」など、特定の Windows アカウント/ID で実行したい従来の ASP アプリがあります。アプリはフォーム認証を行うため、asp アプリの仮想ルート認証は匿名のみです(他の種類の認証は無効になります)。フィルターは、アプリ ID を MEME に強制する必要があります (IUSR には、サービス マネージャーを開くなど、必要なすべてのことを行う権限がありません...)。
私はisapiフィルターを持っていて、SF_NOTIFY_AUTHENTICATION
イベントを登録しました。イベントが発生し、フィルターが設定されますpszUser = "MEME"
(ほとんどの場合、他の "MEME2" アカウント) とpszPassword = "memepass"
. ただし、アプリはIUSR IDで実行されます。IIS7はpszUser/pszPasswordの設定を無視します。
仮想ルート、adv プロパティ、物理パス資格情報 = "MEME"/"memepass" を編集してアプリ ID を静的に設定できますが、これは静的であり、実行時に MEME または MEME2 を決定する必要があります。
基本認証を有効にすると、フィルターに設定されたpszuser/pszpasswordは正しく機能しますが、クライアント側で認証ダイアログ ポップアップを表示できません。
では、 isapiフィルターでアプリ ID を MEME (またはその他の勝利アカウント) に設定するにはどうすればよいですか?
のように発火する他のイベントがありSF_NOTIFY_PREPROC_HEADERS
ます。