- PR -

セッションが残る現象について

投稿者投稿内容
未記入
会議室デビュー日: 2006/03/01
投稿数: 18
投稿日時: 2007-05-30 17:51
Javaで作成された社内WEBシステムを運用しています。
TOMCAT5.5.17
Windows2003 server
SqlServer2005

ログインはLDAPを使用してシングルサインオンにしています。
Aというユーザーがあるマシン限定で、システムにアクセスしたときに、
通常表示されるTOPの画面ではなく、まったく関係のない別画面が表示され原因がわからず困っています。
また、その表示される画面は一定ではありません。

セッションが残っているようだというところまではわかったのですが、
なぜ、このユーザーのこのPCだけ残ってしまうのかがわかりません。

さらに、
同じPCで違うユーザーでログインすると、問題ありません。
違うPCで問題のユーザーでログインすると、問題ありません。

何かconfの設定が足らないのでしょうか?
ご教授願います。
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-05-30 18:23
関係のない画面は最後に閉じたものなのだろうか?

だとすると開発側のバグなので開発チームに問い合わせ、バグ表を切るなどがいいかと。
未記入
会議室デビュー日: 2006/03/01
投稿数: 18
投稿日時: 2007-05-30 18:33
> 関係のない画面は最後に閉じたものなのだろうか?
はい。IEも再起動しています。

開発も弊社で行ったのですが、当時の担当者がいなく、
自分たちでプログラムの修正が必要です。
デバッグしたのですが、はじめの認証でセッションが残っていることが
原因で不安定な動作になっています。
ちなみに、Filterクラスをimplementsしている箇所です。

なぜ、セッションが切れないのか?
WEB.XMLで明示的に何か記述するものが足らないのでしょうか?
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-05-30 18:40
ブラウザのキャッシュが表示されている線は確認されましたか?

もし、本当に前回のセッションが残っているのだとしたら、HTTPレベルでのやり取りを確認すればわかるはず。
一般的にはセッションはCookieでクライアント追跡しているので、そのあたりを調べて見るのはいかがでしょう。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2007-05-30 18:58
下記は推測

恐らくこのシステムは次のようになっている

ログインしアプリケーションを利用すると
その情報が管理テーブルに書き込まれる。
このとき、COOKIEに生成したセッションIDを書き込み
管理テーブルはそのセッションIDとユーザをキーにしている。
管理テーブルには現在アクセスしている画面が情報として書き込まれている。

そのCOOKIEがブラウザを閉じても削除されない。

再度ログインするとセッションIDとユーザをキーに管理テーブルにアクセスする。
結果が存在しているのでそのテーブルに書き込まれている画面を表示する。


その問題のPCにユーザAでアクセスしたときに
COOKIEがおかしく作成された可能性があります。
(もしかしたら開発に使われたマシンで、その当時はCOOKIEの有効期限が長かった。
 その際にユーザAがログインしていた、なんて可能性も)
その場合は一度COOKIEを全削除してみるとか。


未記入
会議室デビュー日: 2006/03/01
投稿数: 18
投稿日時: 2007-05-30 19:12
ブラウザのキャッシュおよびCOKKIEを削除してIEを再起動しても同じ現象でした。
ちなみに、インターネットオプションから行ったのみです。

クライアントとサーバー間にはルーターもなく(セグメントは同一)
プロキシも入れていませんので、そこのキャッシュという線もないようです。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2007-05-30 19:24
COOKIEは問題ないとして

管理テーブルには有効期限のようなものが設定されており
そのユーザに関しては何故か有効期限が長く設定されているとか。

管理テーブルのキーにアプリケーションが生成するキーを利用しており
そのキーはユーザの情報とクライアントの情報等を利用して作成するが
そのPCでそのユーザで生成すると毎回同じキーが作成されてしまうとか。


それはさておき

確認することは
・まったく関係のない別画面が表示されるとき、
 サーバのログはどの画面を表示していることになっているか
  本来表示する画面>表示されているのはキャッシュ
  まったく関係のない別画面>表示する画面の情報をどこからか取得している
・ログ出力していないなら、デバッグでもOK

キャッシュじゃない場合
・シングルサインオン後に表示される画面はどの用に決まっているか。
  リクエスト内容で判断>受け取るところから表示されるまでをデバッグ
  サーバ上の情報で判断>取得元から表示されるまでをデバッグ

がんばってください。
未記入
会議室デビュー日: 2006/03/01
投稿数: 18
投稿日時: 2007-05-30 19:50
確認中ですが、解決したようです。
2つのユーザーでおきていた現象なのですが、1台で問題なくTOPページが表示されるようになりました。(1台は本人不在で確認できていません)

ログも画面と同じ内容で、
シングルサインオン後に表示される画面は、
WEB.xmlで指定しており、全員共通なため、キャッシュに的を絞っていろいろ試していました。

まず、URLを手打ちでアクセスしたらうまくいき、
でもショートカットからはうまくいかなかったので、
ショートカットを作り直したらうまくいきました。

ショートカットは何か保持しているものなのでしょうか?

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