2012-04-04 7 views
0

自分のポートレットから、自動ログインフェーズで設定したセッション属性にアクセスできません。AutoLoginクラスで設定されたポートレットからセッション属性を読み取ることができない理由

自動ログインクラス内の属性の設定:LiferayのWikiにSession Sharingを見てみましょう

@Override 
public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException { 
     Object attribute = PortalUtil.getHttpServletRequest(renderRequest).getSession().getAttribute("My-Attribute-Key"); 
... 
} 
+0

これはセッションが異なるためです。 – adarshr

+0

なぜですか?すべての(tomcat)アプリケーションは別々のセッションスコープを所有していますか? – Mark

+0

はい、確かにそうです!通常、コンテキスト間でセッション属性を共有することはできません。それについて考える。 Tomcatにデプロイされた各アプリケーションは異なるWebサイトである可能性があります。彼らがすべての属性を共有することができれば、悪夢になるでしょう。 – adarshr

答えて

1

:ポートレットから

@Override 
public String[] login(HttpServletRequest request, HttpServletResponse response) throws AutoLoginException { 
     request.getSession().setAttribute("My-Attribute-Key", "Hello World"); 
... 
} 

アクセス属性を。

+0

リンクされたページから単にコピーするだけでも、実際の回答/解決策を投稿する必要があります。 –

+0

@JaroslavZárubaStackOverflowは協力的です。可能であれば、編集/編集を提案して、この回答を改善してください。 – adarshr

関連する問題