1

有很多东西要讲,所以我会尽量保持结构化,因为所有优秀的程序员都应该......忍受我。

我的环境

  • .NET 3.5 SP1 智能客户端
  • 使用 WCF+SOAP over HTTP 与服务器通信以进行业务逻辑/数据访问
  • 通常使用自定义(用户名+密码)或 Windows 身份验证方案
  • 当前的工作旨在扩展以包括新的基于声明的身份验证方案,以促进使用 ADFS 的 SSO

至今...

  • 使用 ws2007FederationHttpBinding 绑定的主要服务端点,通过 trust/13/issuedtokenmixedsymmetricbasic256 ADFS 2.0 端点使用消息安全性设置配置
  • 使用 IssuedTokenOverTransport 配置到 HTTPS trust/13/usernamemixed ADFS 2.0 端点的颁发者端点
  • 服务已指定 federateServiceHostConfiguration 服务行为
  • 创建临时证书颁发机构 (CA) 证书
  • 创建由 CA 签署的临时证书
  • 已安装证书(包括私钥)并可供 IIS 应用程序池进程帐户使用
  • 更新了服务 WCF 配置以使用 X509 证书
  • 使用新应用程序自己的客户端方案/模式修改客户端,以编程方式设置通道工厂以忽略临时证书引起的错误并禁用证书吊销检查
  • 用户名/密码凭据已成功添加(通过标准 WCF ClientCredentials 对象)到令牌请求的 SOAP 信封
  • Token由usernamemixed端点成功生成并返回给客户端

我的问题

  • 在发出令牌之后,对发出令牌混合对称基本 256 端点的后续调用将失败,并显示无法验证消息安全性的一般错误消息。对 SOAP 信封结果的检查除了简单的“失败”结果枚举值之外,根本没有提供任何信息
  • ADFS 2.0 服务器上已启用完全跟踪,但在事件日志或事件跟踪中根本没有记录任何事件以进一步诊断
  • 到目前为止,无法配置为以联合方式工作;令牌在“测试”环境(内部 ADFS 服务器而不是远程服务器)中通过 usernamemixed 端点成功发出。在尝试获取令牌时,使用“live”环境会给出一个简单的无法解释的 401 HTTP 状态代码,无论是使用带有确认和有效凭据的 usernamemixed,还是 windowsmixed
  • 通常:来自 Microsoft 或其他来源的资源要么非常稀缺,要么非常特定于一种情况,而且在某些情况下,完全错误或具有误导性

所以已经问了一个问题,doofus

为什么WCF获取token后调用issuedtokenmixedsymmetricbasic256会失败?如何诊断结果?除了我已经做的——在服务主机配置中启用所有跟踪标志,检查事件日志和事件跟踪数据,我还能做什么?

请注意,如果您要建议指向截屏视频/指南/博客/看似包罗万象的 MSDN 文章的链接,请停止。我相信我已经找到了它们,都尝试了它们,而我现在需要的是——如果你能帮助我——是对上述问题的回答。不是一般资源。

4

0 回答 0