ほとんどの場合に正常に動作するフェデレーション サーバーを実装しました。ws2007HttpBinding に依存し、UserNameSecurityTokenHandler の拡張 (CustomSecurityTokenHandler と呼ばれる) を実装します。私たちのLANでは、すべて正常に動作しています。
ただし、失敗する次のシナリオがあります。
1) ローカル LAN の代わりに、サーバーは Amazon EC2 にデプロイされます。クライアントは、サーバーに接続する WPF アプリケーションです。クライアントがワークグループ内の PC にインストールされている場合、接続は問題ありません。
2) ただし、PC が AD ドメインにある場合、接続できません。これはネットワークの問題によるものではないようです。EC2 への接続はまだ問題ありません。実際にフェデレーション プロバイダーに接続しますが、CustomSecurityTokenHandler には入りません。
そのため、サーバーがローカル LAN 用に正しく構成されているように見えますが、サーバーが外部ネットワーク上にあり、クライアントがローカル ドメインから呼び出すと、突然スタックします。
おそらく、構成に何らかの削除セクションがあるはずですが、どこにあるのかわかりません。
私は既に持っています :
<microsoft.identityModel>
<service>
<securityTokenHandlers>
<remove type="Microsoft.IdentityModel.Tokens.WindowsUserNameSecurityTokenHandler, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add type="MyOwnFP.Federation.CustomSecurityTokenHandler, MyOwnFP.Federation"/>
どんなアイデアでも大歓迎です。