リクエストで渡された、まだアクティブなセッションからJSESSIONIDを使用してHttpSession(サーブレットフィルタでCookie付き)を再作成するにはどうすればよいですか?古いJSESSIONIDを使用してHttpSessionを作成するにはどうすればよいですか?
ありがとうございました。
リクエストで渡された、まだアクティブなセッションからJSESSIONIDを使用してHttpSession(サーブレットフィルタでCookie付き)を再作成するにはどうすればよいですか?古いJSESSIONIDを使用してHttpSessionを作成するにはどうすればよいですか?
ありがとうございました。
あなたがしようとしているのは、セッションをハイジャックすることです。名前の通り、悪意のあるユーザーが同じメカニズムを使用して優れたユーザーを偽装する可能性があるため、これはアプリケーションのセキュリティホールです。
2番目のクライアント(あなたの場合はモバイルブラウザ)はセッションIDを知る必要があるため、ログインを避けるだけでは何も得られません。セッションIDを入力します。
これは理論上、ひどく間違いやすいソリューションです。本当の解決策はどこかにある。関心のあるデータを、ログインしているユーザに関連付けられているいくつかのデータストア(SQLデータベース?)に格納します。こうすることで、使用するクライアントアプリケーションやマシンに関係なく、ログインごとに同じデータにアクセスできます。
どこから再作成しますか?セッションデータがどこかに隠されているということですか?シナリオは何ですか?クラッシュしたサーバーからの回復? – djna
最初のユーザーはスタンドアロンアプリケーションを使用してログインし、JSESSIONIDを取得しました。モバイルブラウザを使用すると、ログインページを省略して同じアプリにアクセスする必要があります。彼はrecived JSESSIONIDを使用する必要があり、サーバーはCookieを再作成する必要があります。まず、標準のtomcat "; jsessionid = ACD ..."を試しましたが、これはすべてのAjaxの問題を解消します。 –