2013-08-29 38 views
7

Shibbolethで私のサービスプロバイダのテストページにログインしています。私はその後、/Shibboleth.sso/Sessionページに移動し、私は次を参照してください。Shibboleth - 属性の読み込み方法

Attributes 
affiliation: 1 value(s) 
entitlement: 1 value(s) 
eppn: 1 value(s) 
persistent-id: 1 value(s) 
unscoped-affiliation: 1 value(s) 

私の質問は...どのように私はこれらの値を読んで行くのですか?私はFiddlerのHTTP Requestヘッダーにそれらが表示されません。

私のWebアプリケーションは、ASP.NET MVC 4(C#)で実装されます。あなたはでRequest.ServerVariablesオブジェクトを使用したIdPによって送信されるShibbolethのSAML属性を読み取ることができ

答えて

7

:あなたは、セッション内のすべての属性を一覧表示し、印刷したい場合は

string server = Request.ServerVariables["HTTP_FIRSTNAME"]; 

thisを参照してください。

は、カスタムあなたのIdPを送ることができ属性を処理するためのShibboleth 属性-map.xmlを設定することを忘れないでください:

<Attribute name="firstname" id="firstname" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> 
    <AttributeDecoder xsi:type="StringAttributeDecoder"/> 
</Attribute> 
5

あなたはまた、shibboleth2.xmlでセッションハンドラでtrueshowAttributeValuesを設定することができます。これは運用環境では推奨されません。次に、shibbolethサービスを再起動します。 「セッション」ページの「属性」セクションには実際の値が含まれます。あなたはシオマネキを述べたので、

<!-- Session diagnostic service. --> 
<Handler type="Session" Location="/Session" showAttributeValues="true"/> 
1

、私は先に行くだろうと本当にいいFirefoxブラウザアドオンと呼ばれる「SAMLトレーサー」があること(質問の後年)を追加します。 (単に "saml tracer"を検索すると、mozillaアドオンページが見つかります)。firefoxにインストールすると、そのウィンドウを開くことができ、すべてのhttpリクエストとレスポンスが表示されます。何かにsamlがあると、そのURLの隣に「SAML」タグがあることを示します。そのURLをクリックして "SAML"タブを選択し、idpまたはspとあなたのブラウザの間で送られたすべてのsamlを読むことができます。それは本当に素晴らしいインラインのトラブルシューティングツールなので、spやidp上で何かを混乱させる必要はありません(あるいはそれらにアクセスすることさえあります)。

関連する問題