我们已经实现了一个在大多数情况下工作正常的联合服务器。它依赖于ws2007HttpBinding并实现了UserNameSecurityTokenHandler的扩展(称为CustomSecurityTokenHandler)。在我们的局域网上,一切正常。
但是,我们有以下方案失败:
1)服务器部署在Amazon EC2上,而不是本地LAN。客户端是连接到服务器的WPF应用程序。当客户端安装在工作组中的PC上时,连接正常。
2)当PC位于AD域时,我们无法连接。这似乎不是由于网络问题:与EC2的连接仍然正常,我们确实连接到联合提供程序,但从未进入CustomSecurityTokenHandler。
因此看起来服务器已正确配置为我们的本地局域网,但当服务器位于某个外部网络且客户端从我们的本地域调用时突然卡住。
可能在配置中有某种删除部分,但我不知道在哪里。
我已经有了:
<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"/>
任何想法都会受到欢迎。
答案 0 :(得分:0)
实际上由于服务器和客户端之间的时钟差异。通过将我的域与适当的NTP同步来解决。