- ベストアンサー
Weblogicのセッションについて
Weblogic10.0.3にてWebアプリケーションの 開発を行っていますが、解決しない問題があり 質問させていただきます。 現在、ログイン画面にてユーザーIDとパスワードを 入力してログイン後各処理を行うアプリを開発していますが、 ログイン時のユーザー情報をセッションに保持する作りに していますが、ログイン時にjsessionidがURLに 表示されてしまいます。 (例:http://testserver:9000/TestApp/Test.do;jsessionid=vFqyK3xMrJ9QCLJnW0X0r2w17ylBVhhD2VQT4qGwdMsGvhnZHdJQ!-425034523) 一度ログインするとそのブラウザを閉じるまでは、画面遷移をしても 何度ログイン・ログアウト処理(セッションの生成・削除)を 行っても二度と表示されません。 (画面遷移はStrutsで制御しています) セッションIDをCookieに保持する方法もあるようですが、 なるべくCookieを使いたくないので、セッションに保持するように したいのです。 web.xml、weblogic.xml、Weblogicサーバーの設定などで セッションIDを表示しなくなる方法がありましたら 教えてください。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>Weblogic10.0.3にてWebアプリケーションの WebLogic10.3でしょうか? 10.0 MP3は現時点では存在しないはずなので。 >セッションIDをCookieに保持する方法もあるようですが、 >なるべくCookieを使いたくないので、セッションに保持するように >したいのです。 なんか矛盾しているような。。 「セッションIDをCookieに保持する」ではなく「セッションをCookieに保持する」でしょうか? 一応、上記の前提で回答すると、weblogic.xmlで session-descriptorのurl-rewriting-enabledをfalseにしてみては如何でしょう。 蛇足ですが、WebLogicに特化した質問だったら、OTNの掲示板のほうが回答が付きやすいかもしれません。 http://otn.oracle.co.jp/forum/forum.jspa?forumID=59
その他の回答 (1)
- Lchan0211
- ベストアンサー率64% (239/371)
http://www.atmarkit.co.jp/fjava/onepoint/weblogic/weblogic01.html を参照してください。 セッション管理をするには、なんらかの方法でブラウザに セッションIDを送付し、ブラウザからの次のリクエストで そのセッションIDを伝えてもらう必要があります。 その1つの方法が、Cookieを使う方法で、 もう1つの方法が、URL rewritingです。 そして、質問にある通りURLの中にセッションIDを埋め込む方法が、 URL rewritingです。 つまり、CookieまたはURL rewritingのどちらも使用せずに セッション管理をする方法はないと思います。 安全なセッション管理を実現するために、 http://www.atmarkit.co.jp/fsecurity/rensai/struts04/struts02.html http://www.atmarkit.co.jp/fsecurity/rensai/struts04/struts03.html を理解することをお勧めします。
お礼
ご指摘いただいたようにweblogic.xmlを 修正したら表示されないようになりました。 ご回答ありがとうございました。