私のコード要件に従って、組織やユーザーグループのモデルに対する少数のDBコールに基づいて計算されるユーザー関連の情報を取得する必要があります。私のパフォーマンスレビューによると、これは複数の場所で行われるため、処理に多くの時間がかかります。liferayの値をservicecontextに設定する
私はログイン時に一度だけこれを行うことを好みますが、この情報を格納して、ポータル全体(フック内、カスタムポートレット内、テーマなどで)。
これを達成するために、私はもっと良い解決策があるかどうかをチェックしたいと思っています(私はLiferayベースではないアプリケーションでセッションを使用しましたが、Liferayではフィッシングの問題に遭遇します)
ServiceContext sc = ServiceContextThreadLocal.getServiceContext();
String someUserData = (String)sc.getAttribute("some-user-data");
感謝を: - :
といくつかのポートレット/フックで、私は
ServiceContext sc = ServiceContextThreadLocal.getServiceContext();
sc.setAttribute("some-user-data", someUserData);
! AJ
**このServiceコンテキストからリクエストを取得し、** ServiceContextThreadLocal.getServiceContext()。getRequest()。getSession()**のようにセッションを取得してこのセッションに値を設定すると、それは大丈夫だろうと思いますか? これは、 "session.phishing.protected.attributes"プロパティのリストに各属性を追加することになりますか? – anjhawar