2

C# マネージ コード アセンブリに統合セキュリティを追加するマネージ コード (COM コンポーネントを追加したり、C++ ルーチンに呼び出されたラップなし) の方法はありますか?

つまり、IIS の代わりにサーバーが Remoting を使用するクライアント サーバー システムを作成したいのですが、統合セキュリティが有効になっている IIS サーバーと通信するときにブラウザが行うように、クライアントがその資格情報をサーバーに自動的に渡すようにしたいと考えています。 .

これはできますか?もしそうなら、いくつかの例はどこにありますか?

4

4 に答える 4

5

いいえ、SSPIへの純粋なマネージド インターフェイスはありません。ただし、 SSPI をラップしてそのラッパーをリモート処理に使用する MSDN サンプルがあります。

于 2008-11-18T15:24:59.330 に答える
2

.NET 2 には、SSPI を提供するために TCP リモート処理で使用される NegotiateStream があります。

于 2008-12-28T12:21:39.303 に答える
1

そのようなものを実装するための WCF とすべての .net ライブラリがあります。私はこのようなものを使用しました

http://www.theproblemsolver.nl/usingthemembershipproviderinwinforms.htm

そしてサーバー部分

http://weblogs.asp.net/dwahlin/archive/2007/02/03/video-creating-a-service-with-windows-communication-service-wcf.aspx

これらの 2 つのステップは、独自に実装されたセキュリティ統合を開始するのに適しています。

于 2008-12-28T13:21:39.947 に答える
-1

「IISの代わりにリモート処理する」とは、正確にはどういう意味ですか?リモーティングエンドポイント(サーバーエンド)は通常、IISでホストされます。これは、認証、負荷分散によるスケーリング(特にシングルコールタイプのオブジェクトの場合)など、多くのものを無料で提供するためです。つまり、状態を維持したくない場合です。エンドポイントへの連続した呼び出し。

xp / sp2でも、クライアントアプリのhttpスタックを使用してリモーティングエンドポイントをホストできます。また、http.sysドライバーを直接利用することもできます(これは自動的に処理されます)。

とにかく、NTLMクレデンシャルを使用した自動ログオンの場合は、IISでリモート処理をホストし、クライアントアプリのクライアントのクレデンシャルにSystem.Net.CredentialCache.DefaultCredentialsを使用することをお勧めします。これにより、現在のセキュリティゾーン(イントラネット/インターネット/トラステッドなど)で許可されていると想定して、コンテキストクレデンシャルがサーバーアプリに渡されます。

-オシーン

于 2008-11-18T14:39:58.063 に答える