0

「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ます。

4

1 に答える 1

0

IIS マネージャーでは、サイトのルート フォルダーへの匿名アクセスを MEME および pw に設定できます。

これを行うには、サイト名を右クリックしてプロパティを選択します。[ディレクトリ セキュリティ] タブを選択し、[認証とアクセス制御] を編集します。[匿名アクセスを有効にする] がオンになっていることを確認し、使用する資格情報を下のフィールドに入力します。[OK] などをクリックします。

このサイトを IIS サーバーでのみ実行する場合、Isapi フィルターで機能するソリューションの 1 つを次に示します。

Isapi フィルターは、サイト レベルではなくグローバル レベルで設定できます。上記と同じことを行いますが、IIS マネージャーの「Web サイト」マップでこれを行います。ここで匿名ユーザーを MEME2 に変更し、ISAPI フィルターを設定します。

効くかも…

于 2013-12-12T11:20:03.363 に答える