- - PR -
セッション情報が取得できない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-12-03 00:20
現在、以下の環境でWebアプリの作成をしています。
Appサーバ:tomcat5.0 struts:1.2 JDK:1.2.6 ログイン画面.jsp ・ユーザIDとパスワードを入力 ↓ ログインAction.java ・入力情報をキーにしてユーザ情報を取得 ・取得したユーザ情報をセッションに設定 KEY:"USER_INFO" VALUE:ユーザ情報 ↓メニュー画面(フレーム.jsp) ・セッションから"USER_INFO"をキーにしてユーザ情報を取得 ・ユーザ情報に応じてメニューの項目を表示 メニュー画面はフレームで別れています。 左:メニュー.jsp 右:初期画面.jsp(メニューがクリックされると業務画面.jsp) メニュー.jspでユーザ情報によりメニュー項目の表示を変更させたいのですが メニュー.jspでは、セッションからユーザの情報が取得できません(nullで返却される) 子フレームからはではセッション情報が取得できないものなのでしょうか? | ||||
|
投稿日時: 2004-12-03 01:04
フレームが分かれていようが分かれていまいが、
ローカルのクッキー若しくはURLのパラメータで セッション管理してますんで、 フレーム云々は関係ないです。 確認したいんですが、 例えば、右フレームがhttp://localhost/xxxで、 左フレームがhttp://192.168.1.1/xxxみたいに、 マシン名が別になっていたりしてませんか? その場合は取得できないはずです。 | ||||
|
投稿日時: 2004-12-07 00:26
返事遅くなって申し訳ありません。 ようやく原因が分かりました。 IEのインターネットオプションのプライバシータブで プライバシーの設定を高以上に設定している場合に フレームが分かれているとセッション情報が取得できませんでした。 プライバシーの設定により、なぜセッション情報が取得できないのかは 正直まだ分かっていません・・・ | ||||
|
投稿日時: 2004-12-07 00:42
ブラウザのクッキーがブロックされている場合、
サーブレットはURLパラメータでセッション管理を行います。 URLをHTMLで出力するときに、Response.encodeURLメソッドを使用すれば、 セッション管理が可能になります。 #最近サーブレット触ってないのでうろ覚えですいませんが。。。 | ||||
|
投稿日時: 2004-12-07 13:24
プライバシーが高になっている場合、フレーム云々に限らず
セッション管理はできなかったと思います。 セッションIDを取得して表示させればわかると思いますが 同一セッションだと思い込んでいる場合も、プライバシ設定 が高だと常に新しいセッションIDを生成してしまいます。 従って、ログイン後に情報が取れないのは、新たなセッションID で情報を取得しようとしているからだと思います。 もう解決しているようですが セッションIDを見てみては? |
1