问题标签 [wsfederationhttpbinding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
369 浏览

c# - .Net wsFederationHttpBinding 和 SAML2.0

好的,我已经使用 wsFederationHttpBinding 创建了一个 SAML 实现,但我不想加密 soap:Body。

如此处指定http://msdn.microsoft.com/en-us/library/system.servicemodel.wsfederationhttpsecuritymode.aspx

它说“消息安全模式”将,

默认情况下,正文是加密和签名的。

如何关闭 Body 的加密?

0 投票
1 回答
341 浏览

wcf - 我可以通过 MEX 为 WsFederationHttpBinding 端点自动生成 STS 绑定吗

我有一个 WCF 服务,它以编程方式公开 WsFederationHttpBinding 端点。然后,我想使用 Visual Studio 使用服务引用对话框创建客户端端点。客户端生成正确的端点和绑定,但我必须在客户端配置中为 STS 手动创建绑定,并将其连接到联合服务绑定的发布者元素。有没有办法创建服务器端绑定,以便在客户端自动生成 STS 绑定?

这基本上是我在代码中生成绑定的方式:

当我在 Visual Studio 中为此生成代理时,stsBinding 不在配置中或已连接,有没有办法让这种情况发生或 MEX 不允许它?

0 投票
1 回答
399 浏览

asp.net - 将会话与 WCF WS2007FederationHttpBinding (WSFederationHttpBinding) 一起使用

使用WS2007FederationHttpBinding时,我无法将我的值存储在 WCF会话中。我在 WCF 中看到过这个主题 Session not compatible,但它没有帮助。此外,我不关心可靠的会话,我只想在会话中存储一些信息并在第二个请求时读取它。这个方案适用于我的 basicHttpsBinding。

这是我的绑定。创建频道后,我将其存储到客户端 Session

服务配置: <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />

服务中的会话访问:

服务中的会话检索(在第二个请求中始终为空,但SessionId相同):

if (HttpContext.Current.Session["serviceSession"] == null) ...

我将通道本身保留在两个请求之间的客户端会话中,并将其从会话中重新用于第二个请求。

0 投票
0 回答
620 浏览

performance - Ws2007FederationHttpBinding - 未能分配 268435456 字节的托管内存缓冲区。可用内存量可能很低

我们有一个通过 ws2007FederationHttpBinding 绑定公开的 WCF 服务。我正在尝试通过此服务访问 100MB 的 word 文档并收到错误消息“无法分配 268435456 字节的托管内存缓冲区。可用内存量可能很低。” 非常感谢任何解决此问题的帮助。

服务器端配置

0 投票
1 回答
229 浏览

wcf - 使用带有 SAML 令牌和使用联合绑定的 WCF 的标记要求

出于安全原因,我们有 STS 服务,它在组织内提供 SAML 令牌,所有应用程序都应获取此令牌。我正在构建一个 WCF 服务,它应该接受一个 SAML 令牌并在服务请求之前对其进行验证。

到目前为止,我已经设置了一个联合绑定 [不确定它的预期要求,因为我的服务仅在防火墙内提供内部/内部网应用程序。我设法通过使用 SOAP UI 来访问我的 WCF,并在调试时也获得了响应。但是,奇怪的是我必须在安全标签下屏蔽我的 SAML 的请求,否则它永远不会起作用;我想知道是否有任何解决方法或这是预期用途。因为 Java 客户端将使用我的 WCF 服务。

从 SOAP UI 工作的示例请求:

您会在这里看到标记下包含的 SAML 断言,如果我删除它,那么服务将无法工作,说安全消息头不存在错误。

0 投票
1 回答
1048 浏览

.net - WCF WS2007FederationHttpBinding 与 HTTPS

尝试连接到 HTTPS 代理后面的 WCF API 时遇到以下错误:

名称为“CN=hostname”的服务器证书未能通过身份验证,因为其指纹(“X”)与端点身份(“Y”)中指定的指纹不匹配。因此,当前的 HTTPS 请求失败。请更新客户端使用的端点身份或服务器使用的证书。

其中 X 是代理使用的证书的指纹,Y 是服务使用的证书的指纹

问题是我设法从 STS 获得了一个令牌,但之后我无法执行任何 Web 服务调用。

我通过使用本地 SSL 代理在我的 PC 上重现了该问题,代理上使用的证书在我的 PC 上是受信任的。使用 HTTP 时一切正常。

我搜索了几天的解决方案,我注意到这篇知识库文章与我的问题很接近但不再适用(我在.Net 4.5中运行示例和服务器): https: //support.microsoft.com/ zh-CN/kb/2564823

我错过了什么?

这是代码:

0 投票
1 回答
1260 浏览

asp.net-mvc - 在 DEBUG 模式下绕过 OWIN WS-Federation 身份验证

我们希望我们的开发人员能够通过使用 OWIN WS-Federation 中间件在使用 ADFS 进行身份验证的应用程序中调试新代码。但是 WS-fed 身份验证依赖方重定向到开发应用程序服务器,而不是本地 VS 实例。

就组织策略而言,使用大量 localhost 开发人员机器配置 ADFS 依赖方信任是不可行的,因此我只能在调试模式下尝试禁用身份验证。

我已经尝试了以下所有方法来绕过对 ADFS 的 OWIN 中间件调用:

  1. AuthorizeAttribute 在此问题中使用自定义,以便 MVC [Authorize] 属性在DEBUG模式下选择性地返回错误的“真”。
  2. 将 MVC 控制器 [Authorize] 包装在条件中,以便它仅在发布代码中激活,如下所示:

    /li>

这里的 RELEASE 编译器常量在 Release Build Configuration 中定义: 在此处输入图像描述

  1. 在 Startup 类中连接 OWIN 中间件时,Configure 方法进行测试HttpContext.Current.IsDebuggingEnabled以选择性地配置 app.AuthenticationOptions,如下面的代码片段所示:

    /li>

这些方法中的每一个的结果是,无论应用程序处于 DEBUG 还是 RELEASE 中,ADFS 授权都会触发并且回复重定向工作(换句话说,身份验证过程完成)。

让我们通过查看所有中间件配置细节来尽量避免偏离轨道,因为这些细节来自Scott Brady 的 SAML 解密入门指南和Chris Klug 的在这里找到。除了我无法在本地 VS 开发环境的调试模式下禁用它(到目前为止)之外,所有东西都工作正常。

0 投票
1 回答
130 浏览

wcf - ws2007FederationHttpBinding 和 Windows 身份验证的 WCF 服务器配置

我必须在服务器上托管的服务上实现“Windows 身份验证”。
我正在使用“ws2007FederationHttpBinding”。
我正在使用“ws2007FederationHttpBinding”绑定,因为我从我的 ADFS 服务器接收令牌。

以下是我的服务器配置:

网络配置

下面是我的 IIS 配置: 在此处输入图像描述

尽管进行了所有配置,但我无法访问我的服务。任何人都可以通知我在哪里犯错或者我错过了任何配置。

当我尝试访问我的服务时收到以下错误。 在此处输入图像描述

根据错误,我们在“ws2007FederationHttpBinding”中没有“Transport”或“TransportCredentialOnly”。
所以我无法更进一步。