使用c#访问shibboleth会话数据

本文关键字:会话 数据 shibboleth 访问 使用 | 更新日期: 2023-09-27 18:11:11

我已经成功地在我们的服务器(服务器2003 IIS6)上安装了Shibboleth SP,并且它可以与第三方IDP一起工作。我知道这是工作的/Session值返回我需要的属性。

目前,虽然我无法从。net应用程序访问这些会话变量。

任何帮助都非常感谢。

——更新在attribute-map.xml中,我有以下与我需要的属性相关的内容(从属关系)

<Attribute name="urn:mace:dir:attribute-def:eduPersonScopedAffiliation" id="affiliation" aliases="Shib-EP-Affiliation">
    <AttributeDecoder xsi:type="ScopedAttributeDecoder" caseSensitive="false"/>
</Attribute>
<Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" id="affiliation" aliases="Shib-EP-Affiliation">
    <AttributeDecoder xsi:type="ScopedAttributeDecoder" caseSensitive="false"/>
</Attribute>

这里还有什么需要我加进去的吗?

使用c#访问shibboleth会话数据

我记得,这些属性应该可以在Request.ServerVariables集合或Request.Headers中使用您在Attribute-Map.xml配置中指定的键。但是要注意,在使用IIS和ASP时,这些键有一些记录上的奇怪之处。其中,它们倾向于在您配置的名称前加上前缀,还会发生其他一些事情。找出实际键值的最可靠方法是打开一个测试页面,该页面遍历ServerVariablesHeaders集合的内容并显示它们。

您需要IIS将Shibb标头代理到您的应用程序-参见这里的描述:https://spaces.ais.ucla.edu/display/iamucla/InstallShibSPOnWindowsIIS

我也有同样的问题,最终在我的shibboleth2.xml中发现了这个问题。

在我的<Host>元素中,我缺少authType="shibboleth"属性。我的应用程序能够解码SAML请求,我可以看到我的属性在/Shibboleth.sso/Session,但属性没有填充环境变量或头。一旦我添加了authType属性,一切就都就位了。

另外,创建一个只包含

.aspx页面也很有帮助。
<% @ Page Language="C#" Trace="true" %>

寻找Shibboleth属性

我遇到了类似的问题,事实证明,shibboleth2.xml文件中的<Host>元素指定的路径对我正在测试的地方无效。如果我访问路径下的url,头文件是可访问的。

将'path'属性更新为站点的有效路径为我解决了这个问题。