ApacheWebサーバーとTomcatアプリケーションサーバーでShibbolethv2.3を使用しています。 mod_proxy.soを使用してリバースプロキシとしてApacheを使用しています。 Shibboleth環境変数をApacheからTomcatに転送できません。ヘッダーの属性を転送することはできますが、wikiですでに述べたように、このアプローチは安全ではありません。次のディレクティブで環境変数を転送しようとしました。
SetEnv AJP_username $ {username}
次に、Java側で:request.getAttribute( "username");によって属性にアクセスできます。ここで奇妙なことは、Shibbolethによって設定された値の代わりに異なる値を取得することです。その結果、Windowsアカウント名が取得されます。他の属性名を使用すると、null値が取得されます。
私はたくさん検索し、オプションを使い果たしました。正しい解決策に向けて私を導いてください。
私のセットアップの詳細:
Httpd.confでajpを使用してプロキシしていることを確認してください
ProxyPass /example ajp://example.org/example
そして、ApplicationDefaultsセクションのshibboleth2.xmlに追加する必要があります
attributePrefix="AJP_"
だからそれは次のように見えます
<ApplicationDefaults id="default" policyId="default"
entityID="https://idp.example.org"
REMOTE_USER="eppn persistent-id targeted-id"
signing="false" encryption="false" attributePrefix="AJP_">
Shibメーリングリストでこの質問をチェックしてください: http://groups.google.com/group/shibboleth-users/browse_thread/thread/2bdd3e272baf49a2?pli=1