ポータルにログインしていないユーザーには、そのようなセッションはありません。公開セッションを有効にすることで、Portal で匿名ユーザーのセッション情報を追跡できます。
http://www-10.lotus.com/ldd/portalwiki.nsf/xpDocViewer.xsp?lookupName=IBM+WebSphere+Portal+7+Product+Documentation#action=openDocument&res_title=Portal_configuration_services_wp7&content=pdcontent
プロパティを変更するには、ナビゲーター サービスを参照してください。
また、これはテーマまたはポートレット フィルターでより簡単に実現できると思います。これらの場所のいずれかでポータル セッションにアクセスできるはずですが、すべてのポートレットにコードを含める必要はありません。
グローバル ポートレット フィルタを作成するためのリンクを次に示します。
http://wpcertification.blogspot.com/2010/11/applying-global-filter-to-all-portlets.html
更新: 他の大きなフレームワークと同様に、多くのオプションがあります。私が考えたり見つけたりできることのブレインダンプを提供します。試してみて、どちらの方法が好ましいかを確認する必要がある場合があります。
JSESSIONID Cookie は、セッション全体を通じてユーザーに対して同じである必要があります。セッションが期限切れになると、新しい JSESSIONID Cookie が取得されます。これを使用すると、単一のセッションでユーザーを追跡できますが、複数のセッションでは追跡できない可能性があります。
PortletRequest オブジェクトの使用getUserPrinipal()
または非使用を検討できます。getRemoteUser()
私はしばらくこれらの方法を使用していないので、それらからどのような情報が得られるかを確認する必要があります.
もありrequest.getAttribute(PortletRequest.USER_INFO)
ます。返されるマップで特定の属性を使用できるようにするには、portlet.xml でいくつかの構成を行う必要があります。ここに例があります。現在のプロジェクトの例のように、姓名の代わりに ibm-primaryEmail を使用しています。
最後に、Portal に組み込まれている PUMA API の使用を検討できます。コーディングが少し重くなり、明らかにコンテナ固有のものになりますが、ユーザーに関連する必要があるほぼすべての作業を実行できるはずです。