Hanaki's weblog

« OpenSSO 日本語ページにリダイレク... | メイン | ssoadm コマンドを使ってポリシーエ... »

20081211 2008年 12月 11日 木曜日

OpenSSO を Glassfish V3(Prelude) に配備するための手順

Glassfish の最新版、"V3 Prelude" がリリースされてますが、 OpenSSO を V3 Prelude に配備する際にはワークアラウンドを施す必要があるようですね。
Installing OpenSSO Enterprise 8.0 on GlassFish v3 Prelude Release

実際に自分でも OpenSolaris 2008/11 上で配備して確かめてみました。

1. Glassfish V3 のインストール

  1. まずは、Glassfish V3 をダウンロード
  2. JAVA_HOME を設定したあと、インストーラを起動したら日本語が□で表示されてしまったので、 以下の workaround を実行。
    # mkdir jdk1.6.0_10/jre/lib/fonts/fallback
    # ln -s /usr/X11/lib/X11/fonts/TrueType/ipafont/ipagui.ttf jdk1.6.0_10/jre/lib/fonts/fallback
    
    再度インストーラを起動すると、日本語が表示されました。



  3. ライセンスに同意して、インストールディレクトリを指定し、管理の設定画面でユーザー名とパスワードを指定して、インストールを実行。
  4. インストール終了後、"asadmin start-domain" でサーバーを実行し、インスタンスが動いていることを確認。



これで、Glassfish のインストールが完了したので、次は OpenSSO を Glassfish に配備します。

2. OpenSSO の配備と設定

  1. OpenSSO Enterprise 8.0 をダウンロードして、zip ファイルから opensso.war を抽出。
    
    # unzip opensso_enterprise_80.zip opensso/deployable-war/opensso.war
    
    
  2. Glassfish の管理コンソールにログインし、opensso.war を配備。
  3. 配備が完了したら、左の区画で「アプリケーションサーバー」をクリック。
  4. 右の区画で、「JVM 設定」->「JVM オプション」をクリック。
  5. -client は、-server に、-Xmx512m は -Xmx1024m に変更し保存。
  6. Glassfish を再起動。
  7. OpenSSO を配備した URL にアクセスし、設定を行う。



  8. 設定が完了したら、「ログインに進む」をクリック。
  9. ログインページで、amadmin でログインしてみると・・・・



    あらら??リダイレクトがうまくいかずに、ログインページに戻ってしまいます。
これは、OpenSSO が値に"="(イコール)を含んだ cookie を設定しようとするのに対して、Glassfish V3 が、その cookie の値を正しく処理できないために起こる問題です。
(= のところで値を切ってしまう) これは、Glassfish の課題 6875として登録されており、まだ修正されていませんが、以下のワークアラウンドでこの問題を回避することができます。

回避方法

  1. Glassfish の管理コンソールにログインし、左の区画で「アプリケーションサーバー」をクリック。
  2. 右の区画で、「JVM 設定」->「JVM オプション」をクリック。
  3. 「JVM オプションを追加」をクリック。
  4. -Dcom.iplanet.am.cookie.c66Encode=true を値に入れて保存。



Glassfish を再起動して、もう一度 amadmin でログインしてみると・・・・・



今度は、無事ログインできました。:)
確かに、上のワークアラウンドを適用することで Glassfish V3 上で OpenSSO を利用できます。 なお、users@opensso.dev.java.net メーリングリストでのやりとりによれば、 このワークアラウンドの使用に関して1点注意事項があるそうで、 OpenSSO とともに J2EE エージェントを使用する場合は、このワークアラウンドは使用してはいけないとのことです。
ご注意ください。(J2EE エージェントを使う場合は、Glassfish V3 以外の web コンテナに配備した方がよいということですね。)

Posted by hanaki ( 12月 11日 2008年, 06:06:18 午後 JST ) Permalink 投稿されたコメント [0]

Trackback URL: http://blogs.sun.com/hanaki/entry/opensso_%E3%82%92_glassfish_v3_prelude
投稿されたコメント:

コメント

名前
メール
URL

投稿されたコメント

HTML文法 不許可