問題タブ [httpsession]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cookies - httpsession と cookie の問題
1)セッションとクッキーの違いは何ですか。
Cookieがクライアント側に保存され、セッションがサーバー側に保存されることはわかっています。
しかし、彼らの本当の船は何なのだろうか?
セッションを実装するには、Cookie と URL 書き換えの 2 つの方法があると誰かが教えてくれました。だから迷ってる……。
私はこの質問の答えを読みました: what-is-the-difference-between-a-session-and-a-cookie
2)セッションのライフサイクルはどうですか。
いつ作成されますか?各 http リクエストは新しいセッションを作成しますか (request.setSession(true) と仮定します)? セッションはいつ終了しますか? ブラウザを閉じるとセッションがタイムアウトすることはわかっています。しかし、セッションタイムアウトの正確な意味は何ですか?
c# - 別のスレッドまたはトリックから HttpSessionState (HttpContext.Current.Session) にアクセスしていますか?
次のように、App_Code で中央の HttpSessionState 管理を実装する Web サイトがあります。
それを使用する関数クラス(例):
これはすべて、新しいスレッドで時間のかかるプロセスを実装する必要があった場合にうまく機能しました... 2 番目のスレッドでは、HttpContext.Current.Session は null です (現在のコンテキストがスレッド間で異なるため、それはわかっています)。したがって、すべてが失敗します:S
調査の結果、次のようにセッションをあるスレッドから別のスレッドに渡すことができることがわかりました。
私たちがやりたいことは、セッションを新しいスレッド (CurrentSession.Session = mySession;) に関連付けることです。そのため、すべての関数は変更せずにそのまま機能します (多くの関数があり、このためにアプリケーションのすべての構造を変更したくありません)。最後の追加) しかし、HttpContext.Current.Session にはセッターがありません:S (CurrentSession.Session プロパティにセッターを追加する必要があることはわかっています)
じゃあ…どうやって解決するの?何か素晴らしいトリックはありますか?私たちが持っていた 1 つのアイデアは、CurrentSession.Session を動的ポインターなどに変換することです。そのため、2 番目のスレッド内で関数を使用する場合、CurrentSession.Session のゲッターは、次の場合に渡された一時変数からセッションを返します。スレッド...しかし、それを実装する方法が明確にわかりません...可能なドラフトは次のようになります。
これが歴史です...この投稿を非常に長くして申し訳ありませんが、混乱や逸脱した回答を防ぐために状況を明確にしたかったのです...ありがとう!
java - HttpSession.getId()はどのくらいユニークですか?
によって返される値は、HttpSession.getId()
時間の経過とともに一意であることが保証されていますか?それとも、すべてのアクティブなセッションの中でのみ一意ですか?
つまり、セッションログエントリ(どのユーザーがいつ、どのくらいの時間ログインしたか)のキーとして使用できますか?
実装固有の場合getId
(J2EE仕様ではこの問題については言及されていないため、私は推測しています)、Google App Engineでどのように扱われますか?
java - Tomcat、HTTPS から HTTP に移行するときにセッションを維持
Tomcat 6.0.29 で Java アプリケーションを実行しており、前に Apache 2.2.3 を使用しています。ログイン ページは HTTPS を使用しますが、ほとんどのページは HTTP を使用します。
ユーザーがログイン保護されたページ (HTTP) にアクセスしようとすると、ログイン ページ (HTTPS) にリダイレクトされ、ログインしてから、最初に要求されたページにリダイレクトされます。JSESSIONID Cookie は非セキュアとして設定され、HTTP と HTTPS の両方に使用されるため、これはうまく機能します。
ただし、ユーザーがログイン ページ (HTTPS) で開始した場合、JSESSIONID Cookie は Secure として設定されるため、HTTP でページにリダイレクトするときにログイン後にセッションを使用できず、新しいセッションが強制され、再度ログイン ページにリダイレクトされます。今回は JSESSIONID Cookie が非セキュアに設定されているため、今回は機能します。
ユーザーが最初にログイン ページにアクセスしたときに 2 回ログインする必要がないようにするにはどうすればよいですか?
java - GWTを使用したHTTPSession
私はGWTを初めて使用します...Webアプリにセッションを実装したい基本的に、セッションはボタンをクリックして開始(イベントを処理)し、別のボタンをクリックして終了(他のイベントを処理)する必要があります)。それが可能だ?
ステップバイステップでそれを行う方法は?
このコードは大丈夫ですか?:
メイン(クライアント側):
// ------------------------------------------------ ------------------------------------
// ------------------------------------------------ ------------------------------------
// ------------------------------------------------ ------------------------------------
私がしていることは、Webアプリケーションを別のWebページに接続することです。ブラウザの戻るボタンをクリックすると、セッションがまだ残っている状態でWebアプリに戻ります...どうすればよいですか?
私の問題が何であるかをよく説明できたと思います...
*****新しい問題***:**
私はそうしようとしました...
---クライアント側....メイン:
////////////////////////////////////////////////// //////////////////////
////////////////////////////////////////////////// //////////////////////
////////////////////////////////////////////////// //////////////////////
サーバ側:
java - サーブレット JApplet: HttpSession
これは簡単な質問のように聞こえますが、良い情報が見つかりません。
サーバーサーブレットに情報を送信する小さなJAppletを書いています
誰が誰であるかを追跡できるようにしたいので、ログとセッションのシステムを構築したいと考えています。
httpsession に関するいくつかの情報を見つけましたが、1 つの情報が見つかりません。
アプレットでセッション オブジェクトを作成する必要がありますか、それともアプレット側でこのようなことを行うときに httpsession を作成する自動システムがありますか
php - 前のページ パスを HTTP セッションに保存する
私が構築しているアプリケーションが大きくなるにつれて、リファクタリングするときがあります。時々これは物事を壊します。たとえば、フォームを送信した後、またはキャンセルした後にユーザーが移動する場所などです。私が考えていたのは、現在のページ パス (URL sans ドメイン名) をセッションに保存することでした。そうすれば、デスクトップ アプリケーションでダイアログ ボックスを閉じたときに何が起こるかを模倣して、ユーザーが来たページに戻ることができます。これにより、はるかに柔軟で保守が容易になります。少なくともそのように見えます。
現在行っている変更により、ユーザーはアプリのさまざまな場所からフォームに移動できるようになります。ユーザーが元のページとは異なるページに移動した場合、ユーザーは方向感覚を失います。私は43のフォームを持っています。これはすぐに約 60 に増加します。
私が見落としている何らかの理由で、これは悪い考えですか?または、これは推奨されるアプローチですか?
[編集]
本当の理由については、回答のコメントをお読みください。
「これをセッションに保存すると、同時リクエストで問題が発生する可能性があります」
java - Google App Engine で httpsession の破棄を追跡する方法
httpsession destroy を GAE で追跡する方法を知っている人はいますか? HttpSessionListener が GAE で正しく機能せず、sessionDestroyed メソッドが呼び出されないことがわかりました。
より具体的には、ユーザーがアプリケーションにログインしたときにデータベースに保存する情報がありますが、一部のユーザーがしばらく非アクティブである場合、この情報をデータベースから削除する必要があります。そのようなときに sessionDestroyed メソッドが呼び出されれば簡単ですイベントが発生すると、今のところ毎分実行されるcronジョブを実行しました。ジョブは、メモリ内のこの種のハンドルのすべてのデータを照会し、どのデータが非アクティブであるかを削除します。しかし、これは非常に非効率的な方法です。キャッシュを使用して最適化できます。しかし、それは他のエレガントな方法かもしれません。
どんな考えも温かく適用されます。
ajax - Ajaxが原因でTomcatセッションアイドルが機能しない
私のWebアプリケーション(jsp / servlet)には、サーバーから最新のデータを取得するために定期的にAjaxリクエストを作成するWebページがあります。このページは、ユーザーがシステムにログインすると常に開くメインページであり、他のページは新しいブラウザウィンドウ(ユーザーイベントによる)。
30分以上アイドル状態のユーザーセッションを無効にする必要があります。そのために、Tomcatセッションタイムアウト機能を使用します。ただし、ほとんどの場合、30分間アイドル状態のユーザーセッションは無効になりません。
ただし、30分後にTomcatによってユーザーセッションが無効になる場合があります。これは、メインページがセッションをアイドリングせずに定期的にAjaxリクエストを送信するためだと思います。
Tomcatがユーザーイベントから自動生成されたリクエストを識別できず、セッションを適切に無効化できないことを知りたいのですが、これについてアイデアを教えてください。非常に役立ちます。
ディネッシュ
jsf - session.invalidate を使用した JSF ログアウトは現在のユーザー名をクリアしませんか?
私の JSF アプリケーションでは、現在サインインしているユーザーの名前を次のように取得します...
...そして、ユーザーがこのようにサインインしているかどうかを確認します...
...そして、ユーザーがサインアウトするとき、私はこれを行います...
私の問題は doLogout() の後です。getLoggedInUsername() はログインしたユーザーの名前を返します。ログアウト後に getRemoteUser() が null を返すようにするにはどうすればよいですか?
または、ユーザー名を確認するだけでなく、 isSignedIn() を取得するより良い方法はありますか?
ありがとう!ロブ