Shibboleth ベースの承認を実装する GWT アプリケーションを作成しようとしています。最終的には「本番モード」で提供する必要があるため、Tomcat7 を使用してアプリケーションを実行することを選択しましたが、クライアントは Apache2 に接続し、Apache2 はリクエストを AJP 経由で (を使用してmod_proxy_ajp
) Tomcat に転送します。
アプリケーションを提供する基本的なタスクは機能します。ただし、何らかの方法で Shibboleth によって設定された環境変数にアクセスする必要があります。Shibboleth のドキュメントによると、環境変数は、プレフィックスが付けられている場合 (プレフィックスは削除されます)、Tomcat に転送されるAJP_
ため、設定したすべての環境変数にそのプレフィックスを追加するように、Shibboleth を構成しました (すべての環境変数を単純に出力する PHP スクリプトを使用して確認したので、これは機能します)。
問題は、Tomcat に到達したときに環境変数が環境変数として使用できなくなり、(mod_proxy_ajp
ドキュメントで説明されているように) AJP リクエスト属性として提供されることになっていることです。
どうやら、これらの種類の属性は、次のようなものを使用してアクセスすることになっています
getThreadLocalRequest().getSession().getAttribute("uid")
サーブレット内から。私のPHPスクリプトは呼び出された環境変数をリストしていますAJP_uid
が、上記の呼び出しは返されますnull
が、私が理解していることから、環境変数と同じ値を返す必要がありますAJP_uid
。
確かに、何らかの理由でプレフィックスがドロップされなかった場合のAJP_uid
代わりに、上記の呼び出しも試しましたが、うまくいきませんでした。uid
私は何を間違っていますか?