2017-11-30 8 views
2

IISサーバーでColdFusionアプリケーションをホストしています。私はShibbolethサービスを私のWeb IISに追加し、CGI/Filtersはそれを使用するように設定されています。アプリケーションをtestshibフェデレーションに追加し、正常にログインできました。今はセッション変数をColdFusionコードに入れようとしています。ColdFusion/Shibboleth - REMOTE_USER

CGIスコープをダンプすると、shibbolethセッションがHTTP_COOKIEに保存されていますが、REMOTE_USERは空の文字列です。これは、REMOTE_USERdocsに従って使用できないためです。代わりに、要求ヘッダー変数の名前はHTTP_REMOTE_USERとする必要がありますが、CGIダンプには表示されません。なぜこれは誰ですか?それを私のshibboleth属性マップまたはColdFusionで設定する必要がありますか?私は、ColdFusionは、<cfdump>でのみほとんどあらゆる可能なCGI変数を公開していないと信じてい

index.cfmに

CGI dUMP 
<cfdump var = "#cgi#" > 
<br>HTTP_REMOTE_USER 
<cfdump var="#CGI.HTTP_REMOTE_USER#"> 
<br>Get Request 
<cfset x = GetHttpRequestData()> 
<cfdump var="x"> 

ダンプ結果

HTTP_COOKIE:_shibsession_64656487474733a2f2f6465736f6d2f73686962626f6c657468=_ecb60f7e4bf7616ab3522; 

セッション

Miscellaneous 
Session Expiration (barring inactivity): 479 minute(s) 
Client Address: 224.61.30.228 
SSO Protocol: urn:oasis:names:tc:SAML:2.0:protocol 
Identity Provider: https://idp.testshib.org/idp/shibboleth 
Authentication Time: 2017-11-30T14:48:48.255Z 
Authentication Context Class: urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport 
Authentication Context Decl: (none) 

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

答えて

4

一般的なもの。つまり、CGI変数が直接失われているように見えるものにはアクセスできないというわけではありません。以下のように、特に必要なものをターゲットにあなたのダンプを変更してみてください:それはまだCGIスコープに書き込まれていない場合は

<cfdump var="#CGI.HTTP_REMOTE_USER#">

、あなたはを通してその特定のリクエストヘッダー変数にアクセスすることができるかもしれませんページリクエストはgetHTTPRequestData()です。

+0

は、 を返します。HTTP_REMOTE_USER:[空文字列]。 getHTTPRequstDataとともに。私はASPページを介してそれをダンプする場合、HTTP_REMOTEUSER:[email protected]を表示します。 – John

+0

GetHttpRequestDataをヘッダーに設定すると、何とか動くようになりました。ありがとう、病気2日で適格時にあなたに恩恵を与える。 – John

+0

ColdFusion/IISコネクタが何かのような音を落としています。このブログの投稿から、これまでと同じような行動を見た人もいるようです:http://grokbase.com/t/tomcat/users/128v2r7gf4/custom-header-fields-are-missing-after-siteminder-redirect-unclassified –

関連する問題