首页 > 解决方案 > Shibboleth SP3 HTTP 标头丢失

问题描述

我在一台服务器上使用 shibboleth SP 3 和 IIS 8。我保护了一个“安全”文件夹并重定向到一个测试 ADFS,在那里我配置了从 AD 中提取 UPN。

我的 attribute-map.xml 看起来像这样:

<Attributes xmlns="urn:mace:shibboleth:2.0:attribute-map" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Attribute name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" id="UPN" />
</Attributes>

一切正常。我检查了 http 标头和服务器变量,所有自定义 shibboleth 标头都在那里,并且对应的服务器变量带有前缀 HTTP_

我将其部署在测试服务器上,即带有 IIS 8 的 Windows Server 2012。我的问题是,我仍然有服务器变量,但没有 HTTP_ 前缀,并且我不再有 HTTP 标头,而我的应用程序依赖他们。

配置文件几乎相同。我已经在 Shibboleth SP wiki 中进行了挖掘,这是一本谋杀案,我找不到可以微调如何在 HTTP 标头或服务器变量中添加属性的地方。

你有什么线索吗?

谢谢。

标签: iishttp-headersshibbolethshibboleth-sp

解决方案


Shibboleth SP 3 使用新的iis7_shib.dll而不是旧isapi_shib.dll的,默认情况下不再填充标头。请参阅https://wiki.shibboleth.net/confluence/display/SP3/IIS#IIS-NewVersioninV3oftheSP

但是,您可以将<ISAPI>元素编辑为useHeaders...参见:https ://wiki.shibboleth.net/confluence/display/SP3/ISAPI以获取文档,但它应该像替换一样简单

<ISAPI>

<ISAPI useHeaders="true">

在您的shibboleth2.xml文件中。


推荐阅读