2011-10-14 42 views
3

我已經在我們的服務器(server 2003 IIS6)上成功安裝了Shibboleth SP,並且它正在與第三方IDP一起工作。我知道這是工作的/ Session值返回我需要的屬性。使用c#訪問shibboleth會話數據

目前雖然我無法從.net應用程序訪問這些會話變量。這些變量並沒有被放在頭上。

任何幫助非常感謝。

--Update-- 在屬性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> 

療法是額外的東西我應該添加到這裏?

回答

2

我記得,這些屬性應該在Request.ServerVariables集合或Request.Headers中使用您在Attribute-Map.xml配置中指定的鍵。請注意,雖然有一些documented strangeness with the keys when using IIS and ASP.NET,其中他們往往會在您配置的名稱和其他一些發生的事件之前獲得一個前綴。找出實際關鍵值的最可靠方法是打開一個測試頁面,該頁面遍歷ServerVariablesHeaders集合的內容並顯示它們。

+0

我看過這兩個集合,並沒有看到一個shibboleth相關的變量:(。我已經添加了有關attibute-map.xml上面的升技。 –

+0

Shibboleth配置本身有點超出原來的範圍問題,因爲你問如何訪問asp.net應用程序中的屬性,但我可以說,從經驗來看,很容易讓Shibboleth配置出錯,問題甚至可能存在於Attibute-Map.xml文件以外的地方。 'd建議您打開shibd.logger中最詳細的日誌記錄級別,重新啓動守護進程並查看日誌,以查看在您進行身份驗證並重定向時哪些屬性到達並映射.Shibboleth Google組將是最好的 –

+0

我的配置連接錯誤,所以它工作,但不是我期待它的位置。 –

0

我有同樣的問題,並最終找到了問題我shibboleth2.xml

在我的<Host>元素中,我錯過了authType="shibboleth"屬性。我的應用程序能夠解碼SAML請求,並且我可以在/Shibboleth.sso/Session處看到我的屬性,但這些屬性未填充環境變量或標題。一旦我添加了authType屬性,一切都落空了。

而且,這是非常有幫助的,以創建一個只包含

<% @ Page Language="C#" Trace="true" %> 

,而在追逐的Shibboleth屬性的.aspx頁。

0

我遇到了類似的問題,結果發現shibboleth2.xml文件中我的<Host>元素指定了一個路徑,該路徑對我測試的位置無效。如果我訪問了路徑下的一個url,則可以訪問標題。

將'path'屬性更新爲該站點的有效路徑爲我解決了這個問題。