iis - 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 标头或服务器变量中添加属性的地方。
你有什么线索吗?
谢谢。
解决方案
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
文件中。
推荐阅读
- c++ - 从 Visual Studio 2017 迁移到 2019,/MP 标志出现问题并实现 32 位构建?
- javascript - 为什么 Ctrl+S 不能在 javascript 中使用shortcut.js
- powershell - npm install 命令不是正常工作我如何解决这个问题?
- javascript - 如何反转对象的嵌套对象
- javascript - firebase登录完成后如何将用户重定向到个人资料/任何页面?
- perl - 如何将 systemctl 显示输出 (k=v) 保存到 perl 哈希?
- sql - 如何编写返回具有匹配列名的所有行和具有匹配父ID的任何行的sqlite脚本?
- python - anaconda3 未正确安装
- amazon-web-services - 如何使用 Glue 数据目录创建 Redshift 表
- python - 带有过滤功能的 Pandas read_csv 来选择特殊行