6

Apache Web Policy Agentのインストール ガイドに従いましたが、常に Web サーバーとアプリケーション サーバーの間でエンドレス リダイレクト ループが発生します。Firefox では「ページが正しくリダイレ​​クトされていません」と表示され、Chrome では「この Web ページにはリダイレクト ループがあります」と表示されます。セットアップは、ポート 80 上の Apache 2 と小さなデモ アプリと Web ポリシー エージェント、およびポート 8080 上の Tomcat 7 サーバーと OpenAM サーバー (以前の Sun の OpenSSO) です。

ライブ HTTP ヘッダー Firefox プラグインは、ポリシー エージェントと OpenAM サーバー (つまり、Apache および Tomcat サーバー) が相互にリダイレクトすることを示していますが、サーバーは SSO トークン Cookie を正しく設定しています。SSO トークン Cookie の名前のデフォルト値は「iPlanetDirectoryPro」です。問題を解決する方法はありますか?

4

2 に答える 2

8

Stackoverflow とOpenAM Mailing listの助けを借りて、丸 1 週間経った後、ようやくそれを理解しました。ログ ファイルの欠落と Cookie ドメインの欠落という 2 つの主な問題がありました。OpenAM サーバーと Web ポリシー エージェントのインストールは難しく、多数のログ ファイルとさまざまな構成オプションが存在します。間違ったオプションを選択すると、機能しません。何が起こっているのかを知らずに動作させることは不可能であり、適切なログ ファイルによってのみ判断できます。

Web ポリシー エージェントのログがありません: ログ レベルは「Java プロパティ」ファイルで設定する必要があります。Web ポリシー エージェントには 2 つの「Java プロパティ」ファイルがありOpenSSOAgentBootstrap.propertiesOpenSSOAgentConfiguration.properties. 名前が付けられたログおよびデバッグ レベルはcom.sun.identity.agents.config.debug.level、両方の (!) ファイルで定義でき、また定義する必要があり、高レベルall:4またはに設定する必要がありますall:5。フォーマットは重要です。これを行う場合でも、AgentConfiguration.propertiesファイルは、エージェントが集中構成モードで動作していない場合にのみ使用されます。プロファイルは「ローカル」に設定する必要があります。

Cookie ドメインの欠落: OpenAM サーバーの最初のセットアップ中に正しい Cookie ドメインを入力することを忘れないでください。欠落している場合は後で追加してください。OpenAM サーバーで、Configuration > System > Platform[Cookie ドメインの値] に移動して、ドメイン (たとえば.example.com) が欠落している場合は変更します。そうしないと、ブラウザはリダイレクト プロセス中に Cookie を失います。example.comどういうわけか、OpenAM サーバーで Cookie ドメインの空のエントリがありました。ドット (の代わりに)を忘れた.example.comため、無効 (またはそのようなもの) だったと思います。

このトラブルシューティング サイトは、問題の特定に役立ちました。

于 2011-06-24T10:20:20.610 に答える
1

@ 0x4a6f4672、あなたの投稿は本当に役に立ちました。あなたの答えに追加するものがあります。次の変更は、少なくとも屋外で実行するために構成で実行する必要があったことです。

com.sun.identity.agents.config.user.mapping.mode=USER_ID(Dont use HTTP_HEADER)
com.sun.identity.agents.config.user.attribute.name=uid
com.sun.identity.agents.config.user.principal=true(Dont use false)
com.sun.identity.agents.config.user.token=SsoUserHeader(Keep it as per what is specified in you application- in my case alfresco)

現在、集中モードでエージェントを実行していませんが、ローカル モードでは、プロファイル属性に指定されている設定は、プロパティ ファイルを介してのみ設定できるため、次を追加します。

com.sun.identity.agents.config.profile.attribute.fetch.mode=HTTP_HEADER
com.sun.identity.agents.config.profile.attribute.mapping[uid]=SsoUserHeader(whatever you want the header to come in browser as)

0x4a6f4672 で説明されているように、デバッグは難しく、ローカル モードでない限り、すぐにローカル モードに切り替えてログのトレースを開始し、それに応じてプロパティを変更します。

于 2015-05-21T12:02:47.130 に答える