J2のビルド

ようやく、PALポータルのビルド環境で、J2をビルドできるようになり、とりあえず、動いているのは確認できた。でも、まだ、PALポータルの方はうまくいっていないな・・・、ビルドは通るのだけど。J2のビルドもMaven2になって、Maven Invoker Plugin であれこれ、呼び出すから、理解するのに時間がかかった。それをPALポータルのビルドに適用したのだけど、Invokderで呼び出すと、プロパティ値が引き継がれないので、あれこれ、書き直すはめになったよ。mavenOpts でやれば渡せるっぽいのだけど、ライフサイクルが違うとか文句を言われて無理だった。J2のビルドもMaven2であれこれやっているので、勉強になりやした。

Jetspeed2のMaven2によるビルド

ようやく、J2のビルド方法をキャッチアップできたと思ったら、M2のプラグインによるビルド方法に更新された。とりあえず、ドキュメントを読んで概要をつかんだけど、確認作業するのは明日以降だな・・・。Maven2を使っているとはいうものの、普通の M2 によるビルド方法とはかなり違うと思う(独自のMavenプラグインを持つから、ドキュメント読まないとM2を知っているだけじゃビルドできん)。そんな感じで、やっと trunk に近づいてきた。

J2のビルド方法

Jetspeed 2.2-SNAPSHOT

ほんとは、先月あたりから取り組もうと思っていたのだけど、ようやく取り組む方向に持っていけそう。というわけで、早速、ワークスペースを svn update しようと思ったら、パスが変わっていたりで失敗(長らくいじってなかったからな・・・)。というわけで、チェックアウトしなおして、ビルドの方法も Maven2 になって変わっちゃっているので再確認。settings.xml を置けというのもどうかと思うので、-s オプションで指定して対応した。試した感じではビルドはできたみたい(でも、警告のたびにビルドが止まるのはどうかと思うよ)。でも、そのビルド環境だと、面倒な気がするから、また、PALポータルのビルド環境でラップして、ビルドできるようにしようっと。という感じで、J2 に取り組み中。

メッセージ

ユーザー・ロール・グループまわりのメッセージをリソースバンドルに移す。というわけで、そこら辺で日本語のメッセージがでるようになっただろう。うーん、管理まわりのレイアウトも汚いので、手を入れたいところだな・・・。そういや、今日は、ポートレットのタイトルまわりの変更をがつがつ入れていた・・・。と言うわけで、いくつかのポートレットのタイトルが???として表示されるようになったTT たぶん、portlet.xmlにsupported-localeに登録されている言語で問題があるような気がする。詳しくはまだみていない・・・。

PALポータル(Jetspeed2)とOpenSSO

ここのところ、SSOまわりを調査・検討しているけど、PALポータル(Jetspeed2も同じ)でOpenSSOの認証を使う仕組みを作って、PALにコミットしておいた。OpenSSO もまだ謎の部分が多いのだけど(設定がいろいろあって細かいところを理解するにはもっと時間が必要・・・)、とりあえず、動いた。やり方は、JBoss Portal がやっていることに近い(Liferay のやり方はいまいちな気がする)。コードは以下に置いた(リリース物はそのうち・・・)。

http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/pal-portal/trunk/components/palportal-sso/?root=pal

使い方

  1. OpenSSO をセットアップする
  2. palportal-sso-2.1.3_pal-1.0.3.jar と openssoclientsdk-1.0-b3.jar (openssoclientsdk.jar)を webapps/palportal/WEB-INF/lib/ にコピーする
  3. webapps/palportal/WEB-INF/web.xml を編集する
...
<filter>
<filter-name>OpenSSOFilter</filter-name>
<filter-class>jp.sf.pal.portal.sso.opensso.OpenSSOFilter</filter-class>
<init-param>
<param-name>loginURL</param-name>
<param-value>http://servername:8080/opensso</param-value>
</init-param>
</filter>
...
<filter-mapping>
<filter-name>OpenSSOFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
...

注意点

  • ログインしていない状態でアクセスしたい場合は、filter のパラメータでprotectedPathsを指定する。/login/proxy などを指定すると、OpenSSOの認証後にそのページが表示されるので別途サーブレットを用意する必要がある(何か良い方法が思いついたら手を加えるかも)。

JOSSOやCASにしても、同じようにやればいいのだと思うけど、環境を作るのが面倒なので、またそのうち考えよっと。というわけで、Jetspeed2 でもそれらの SSO はできる(と思う)ということで。