1

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

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

脚步:

  1. 使用 IE 快捷方式打开浏览器实例 1、导航到应用程序并登录。
  2. 使用 IE 快捷方式打开浏览器实例 2,导航到应用程序并登录。
  3. 在浏览器实例 2 中注销应用程序。
  4. 执行任何需要与服务器通信的操作。例如,注销应用程序浏览器实例 1。

结果:“远程服务器返回错误未找到”异常

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

4

0 回答 0