我们已经实现了一个在大多数情况下都能正常工作的联合服务器。它依赖于 ws2007HttpBinding 并实现了 UserNameSecurityTokenHandler 的扩展(称为 CustomSecurityTokenHandler)。在我们的局域网上,一切正常。
但是,我们有以下失败的场景:
1) 服务器部署在 Amazon EC2 上,而不是本地 LAN。客户端是连接到服务器的 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"/>
任何想法都会受到欢迎。