在使用共享会话调用多个具有WCF服务的浏览器之前,请验证是否存在有效的会话令牌

时间:2011-12-08 18:53:53

标签: wcf wif federated-identity

在访问后端WCF服务的Silverlight客户端中使用WIF,WCF。 应用程序注销使用联合身份验证模块SignOut方法,该方法又为本地RP(依赖方)注销调用会话身份验证模块(SAM)DeleteSessionTokenCookie。随后呼叫退出IP(发行方)。所有这些都按预期运行。

我遇到了以下与共享会话相关的多个浏览器方案,导致“远程服务器返回错误未找到”问题。如果使用IE的“新会话”,这不是问题。

步骤:

  1. 使用IE快捷方式打开浏览器实例1,导航到应用程序并登录。
  2. 使用IE快捷方式打开浏览器实例2,导航到应用程序并登录。
  3. 在浏览器实例2中注销应用程序。
  4. 执行需要与服务器通信的任何操作。例如注销应用程序浏览器实例1.
  5. 结果:“远程服务器返回错误未找到”异常

    是否可以在浏览器实例1中进行WCF调用之前检测到WIF令牌已被删除,因此通知用户。 IdentityModelServiceAuthorizationManager.CheckAccessCore(OperationContext)方法用于在进行任何WCF服务调用之前验证服务访问(授权)。此时是否可以访问和评估与会话令牌相关的信息?或者是否有另一种方法可以使用?

0 个答案:

没有答案