- PR -

HTTPと、HTTPSのセッション管理について

1
投稿者投稿内容
eiji
常連さん
会議室デビュー日: 2003/07/23
投稿数: 32
投稿日時: 2005-09-16 17:42
セッション管理について以下のような現象が発生するのですが
回避方法はなにかあるのでしょうか?

(1) HTTP(セッションA作成)⇒HTTPS(セッションA)⇒HTTP(セッションA)
(2) HTTPS(セッションA作成)⇒HTTP(セッションB作成)⇒HTTPS(セッションB)
(1)の場合だと、全て同一セッションになるのですが、(2)の場合は、最初のHTTPSで
アクセスしたセッションが別になってしまいます。
※クッキーを見ましたが、ドメインで定義しています。

なにか設定で回避できるのでしょうか?

環境
 OS:red hat es3
AP:Sun ONE Application Server7
 JDK:1.4.2_04
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-09-16 17:49
HTTPS でアクセスした際に作成したクッキーがセキュアになっているということはないでしょうか。
セキュアに設定されているクッキーはHTTPでアクセスするときブラウザが送信しません。
恐らく Sun One になにか設定があるのではないかと思われます。
設定がなさそうならフィルタでセッションのクッキーを取得して、Cookie#setSecure(falue) としてみましょう。
http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/Cookie.html#setSecure(boolean)
eiji
常連さん
会議室デビュー日: 2003/07/23
投稿数: 32
投稿日時: 2005-09-22 21:31
返信ありがとうございます。

Cookie#getSecure()で見ると、falseでした。
Cookie#setSecure(falue) をしても状況は変わりません。

また、TRUEにしても、FALSEにしても
以下の、まったく状況は、変わりませんでした。
(1) HTTP(セッションA作成)⇒HTTPS(セッションA)⇒HTTP(セッションA)
(2) HTTPS(セッションA作成)⇒HTTP(セッションB作成)⇒HTTPS(セッションB)

setSecure(true)自体効いていないように思われますので、
やっぱりサーバーでなにか設定があるのでしょうか?
なにか情報ありましたら、お願いします。



山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-09-23 00:11
うーん、状況からしてセキュアなクッキーを使っていると思うんですが・・・。
Internet Explorerのセキュリティ設定でクッキー受信時にダイアログを表示するようにして確認できますか?
セキュア属性がついているか確認できます。

>なにか設定で回避できるのでしょうか?
こちらはドキュメントで確認してはいかがでしょうか。
ドキュメントでわからなければサポート窓口に問い合わせる必要があります。
eiji
常連さん
会議室デビュー日: 2003/07/23
投稿数: 32
投稿日時: 2005-09-23 15:50
確かに、受信時には、セキュア属性がついていました。

わかったことは、
・Javaでクッキーを取得し、getSecure()で見ると、false
・しかし、ブラウザでセキュア属性を見ると、true

この事から、ソースコードでの対応では不可と思い、
サーバーの設定周りを調べてみます。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)