デコレータ内でポートレットを直接呼び出す

ポートレットをレイアウトポートレットで管理されているところ以外に表示する方法について。tigrisレイアウトデコレータでやっているけど、レイアウトデコレータで(たとえば、header.vm などに)

$jetspeed.renderPortletEntity("theClock","j2-admin::DateTimePortlet")

というように記述すると、ポートレットを貼り付けることができる。ただし、一時的なフラグメントを生成して、表示するためか、フォームの送信などのアクションを処理することはできない。つまり、単純にポートレットを描画だけしたいときなどに利用可能。

認証まわりの話

Jetspeed2 のユーザー認証まわりの話をまとめておく。J2 では、ユーザーの認証・承認にJAASの仕組みを使っているけど、デフォルトのログイン関係で呼ばれるのは、org.apache.jetspeed.security.impl.DefaultLoginModule になる。っで、誰がこのモジュールを使えと指定しているかというと、jetspeed-securityコンポーネントに入っている login.conf です。その中には、

Jetspeed {
org.apache.jetspeed.security.impl.DefaultLoginModule required;
};

と書いてある。このファイルの指定方法だけど、-Djava.security.auth.login.config=login.conf とかで指定する場合もあるが、J2 ではorg.apache.jetspeed.security.impl.AuthenticationProviderImplが

System.setProperty("java.security.auth.login.config", loginConfigUrl.toString());

を呼んで、設定しています。ここでいうloginConfigUrl.toString()っていうのは、クラスローダーのリソースから解決され、ファイル名自体は、このコンポーネントは、Spring で new されるから、WEB-INF/assembly/security-providers.xml で変更可能(試したことはないけど)。まぁ、わざわざ変えなくても、WEB-INF/classesにlogin.conf を置いて、モジュールを設定すればそれに切り替わるはず。

N2 Portalの資料

N2 Portal も問い合わせをいただいたり、大きな案件の話が進んでいたりと、この状況に大変感謝しております~。そんでもって、昨日もプリセールス的な活動したりと(前の会社では、プリセールスするようなところにいなかったから、ある意味新鮮)。現在、説明するのに使っている資料は以下のような感じ。基本的にポータルなので、ウェブアプリ作るのに、ユーザー管理・ログインまわりとか作るの面倒だな~、とか感じている方は利用すれば、楽をできるかと。興味がありましたら、Jetspeed2/PALポータルなどなど含めて、ご利用ください~。

http://www.n2sm.net/products/n2portal-presentation.html