現在 IIS 6 で実行されている ASP.NET フォーム認証を使用して保護されている従来の ASP アプリケーションがあります。問題は、このアプリケーションが、クライアント証明書を使用する Entrust TruePass を使用してシングル サインオン セキュリティ モデルを実装する必要があることです。これは ASP.NET Http モジュールを使用して実装できますか?それとも ISAPI フィルターを作成する必要がありますか? 他に利用可能なオプションはありますか?
2 に答える
In order to fire the HttpModule you have to have IIS send the request to aspnet_isapi.dll and then the regular asp.dll. In most cases if there is an endpoint in .net it won't pass the request back to IIS but in IIS6 you can define a handler for wildcards see this article on securing non .net stuff using forms authentication https://web.archive.org/web/20111127051259/http://www.15seconds.com/issue/070104.htm
So what you would do is create your module, register in web.config and use it to do the authntication, and as long as the end point doesn't match anything .net will handle then it should let it go back to IIS to go to asp.dll
[Link above is via Internet Archive Nov 2011. Article was previously at http://www.15seconds.com/issue/070104.htm ]
最初に、私は HTTPModules についてよく知らないことを述べさせてください。しかし、TruePass を処理するために IHttpModule の独自の実装を作成できると思います。詳細については、次のリンクを参照してください: MSDN HttpModules。
私の経験からすると、従来の ASP と .NET の間を行ったり来たりする際の最大の問題は、セッション情報を処理することです。従来の ASP セッション変数に格納されたものは .NET で読み取ることができず、その逆も同様です。しかし、FormsAuthentication は Cookie を使用している可能性が高いため、これで行き来する手段ができました。
他のオプションについてはわかりません。ビジネス要件が従来の ASP コードを保持し、TruePass を使用することである場合は、それを機能させることができると思います。
それが役立つことを願っています。