我正在使用RIA服务创建Silverlight界面来访问我们的数据。
使用ADFS登录屏幕(使用Visual Studio 2012中的“身份和访问”工具配置)保护应用程序。
通常,一切都按预期工作:
访问主机页面时,我将重定向到ADFS登录页面
登录后,我被重定向回主机页面
RIA域服务可以使用HttpContext.Current.User
检索ADFS凭据,从而确保正在为正确的用户进行调用。
RIA查询/调用/等工作正常...
... 一阵子。我认为在情况恶化之前,它们将工作约一个小时左右(我尚未确定确切的时间)。
当他们这样做时,对RIA服务的请求将被重定向到ADFS登录页面(我使用IEs开发人员窗口-F12-和“网络”选项卡发现了这一点)。
我最初的想法是ADFS安全令牌超时,并且客户端需要重新进行身份验证。但是,我已将ADSF上的令牌过期时间设置为6小时,但问题仍然存在。
重要的是要注意,Silverlight应用程序会定期调用RIA服务以检查新更新,因此它不应该是某种“不活动”超时-因为从不存在任何不活动。
在这个阶段,我有点主意。有人可以帮忙吗?
我不知道我的代码的哪些部分在这里有用-如果有人要求,我会发表我能做的。
最佳答案
看来这是SAM(会话验证模块)的超时。
看看this Brock Allen's post和linked one
关于c# - 一段时间后,Silverlight + RIA和ADFS STS失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20882441/