問題タブ [session-management]

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.

0 投票する
1 に答える
756 参照

multithreading - スレッドコンテキストでHibernateでセッションを再初期化するには?

注: この質問は、以前の質問に関連してます。

私はhibernate.current_session_context_class=threadHibernate構成で使用しており、必要に応じてHibernateセッションを取得してSessionFactory.getCurrentSession()います。したがって、必要に応じて既存のセッションを作成または提供するため、私はこれを処理しません。

HibernateExceptionこれはすべて素晴らしいことですが、ConstraintViolationExceptionたとえば を取得した場合はどうすればよいでしょうか? その後、以前に取得した現在のセッションが無効になり、それ以上のデータを読み取ることさえできなくなります (私が読んだ多くのフォーラムによると)。特定のスコープ内で新しいセッションを破棄して取得するにはどうすればよいですか? SessionFactory.getCurrentSession()2回目の呼び出しでも、同じ無効なセッションが返されると思います!?

0 投票する
1 に答える
2342 参照

spring-security - ログアウトによる Spring Security セッションの無効化

Spring Security とセッションの無効化についての質問です。

ConcurrentSessionControlStrategy によってセッションが無効化されると、セッションは removeSessionInformation メソッドを呼び出すことによって SessionRegistry から削除されますが、セッションが手動ログアウトによって無効化されると、HttpSession は無効化されますが、そこからエントリを削除するための SessionRegistry への呼び出しはありません。

HttpSessionDestroyedEvent イベントをキャプチャするリスナーとして HttpSessionEventPublisher を追加しましたが、SessionRegistry への呼び出しはありません。

LogoutFilter の独自の実装を作成し、手動で removeSessionInformation を呼び出すハンドラーを追加することでこれを回避しましたが、可能であれば標準のスプリング アノテーションを使用できるようにしたいと考えています。(注: セッションは既に無効化されているため、標準のログアウト タグの success-handler-ref フィールドは使用できないため、セッション ID にアクセスできません)

ここに欠けているものはありますか、それともSpringが見逃したものですか?

ちなみに、これはSpring Security 3.1.0を使用しています。

0 投票する
0 に答える
149 参照

ruby-on-rails-3 - Rails 3:セッション管理で問題をフィルター処理する前

私は、最終的に会社が多数の製品をサポートするためのユニバーサル登録/アクティベーションプロセスに移行するのに役立つアプリケーションに取り組んでいます。新規ユーザーの登録またはアクティブ化(グループコードを使用)時に、「単一の」システムのブランドを、それらがどこから来たかに基づいて変更する必要があります。

今のところ、client_id paramがURLで渡され@client、ActiveRecordFindByを実行して現在のクライアントを設定するように設定されています。

セッションでクライアント情報を設定するように設定する必要があります。しかし、それを機能させるのに問題があります。

これが私のApplicationController

私が遭遇し続ける問題の1つは、誰かが別のclient_idパラメーターを使用してサイトに戻ってきた場合、古いパラメーターがセッションに保持されることです。

上記を書き直して、パラメータが変更されたclient_id場合でも常にセッション内に設定するようにするにはどうすればよいですか?client_id

0 投票する
1 に答える
3282 参照

c# - 値'hibernate.current_session_context_class'は、そのデータ型'String'に従って無効です

Nhibernateを使用するアプリがあります。これは私の最初のアプリなので、初心者です。最初のgetメソッドをテストしようとしています。

セッションマネージャのコードは次のとおりです。

しかし、アプリを実行してbtnをクリックするたびに。内部例外メッセージで例外をスローします。

"'name'属性が無効です-値'hibernate.current_session_context_class'は、そのデータ型'String'に従って無効です-列挙型制約が失敗しました。"}

これが私のhibernate.cfg.xmlです

もともと、私は入れませんでした

しかし、それは私にエラーを与えています:

CurrentSessionContextが構成されていません(プロパティcurrent_session_context_classを設定してください)!

0 投票する
2 に答える
1100 参照

c - セッション管理の実装

私はセッション管理を実装しており、現在4種類の情報をデータベースに保存しています。

  1. ユーザーID
  2. session_id(ハッシュ)
  3. 挿入時間(タイムアウトの場合)
  4. 永続性(ユーザーが永続的なCookieを持っている場合)

ユーザーは、さまざまなデバイスで複数のセッションを開くことができます。ユーザーがログアウトした場合、どのセッションを削除する必要があるかをどのように知ることができますか?

私がすでに持っている情報と一緒に通常どのようなユニークな情報が保存されていますか?IPアドレスは共有される可能性があるため、実際には機能しません。ブラウザ情報を保存する必要がありますが、同じ場合はどうなりますか?

0 投票する
1 に答える
6304 参照

amazon-web-services - AWS の memcached-session-manager

Elastic Beanstalk を使用してデプロイされ、最低 2 つの EC2 マイクロ インスタンスで実行される Amazon Web Services で実行されている Web サイトを持っています。Web サイトのトラフィックに応じてスケールアップおよびスケールダウンできるように、自動スケーリング ポリシーが設定されています。この自動スケーリング ポリシーにより、スティッキー セッションの使用を避けたかったため、memcached-session-managerを使用しています。memcached サーバーに Amazon ElastiCache (スモール インスタンス) を使用しています。

context.xml の構成は次のとおりです。

これは、トラフィックが少ない場合 (つまり、オンラインのユーザーが 10 人未満) は正常に機能しますが、EC2 インスタンスが再起動することがあります。Web サイトが現在 2 つのインスタンスで実行されていて、両方が同時に再起動することを決定した場合、Web サイトにアクセスできなくなり、大きな問題になることは想像に難くありません。これらは、EC2 インスタンスが再起動を決定する前に Amazon S3 でローテーションされる tail_catalina.log の最後の行です。

Amazon ElastiCache ノードに障害が発生しているように見えますが、Amazon CloudWatch で確認すると、CPU 使用率が 8% を超えたことはありません。それほどストレスがかかっていないにもかかわらず、Amazon ElastiCache ノードが失敗する理由はありますか? また、Amazon ElastiChace ノードに障害が発生したときに、Amazon が再起動 (または、より良い方法: 新しいインスタンスを終了して開始) を決定するのはなぜですか?

どんな助けでも大歓迎です。

ありがとう!

0 投票する
1 に答える
7599 参照

java - Spring 同時セッション制御が機能しない、ユーザーが複数回ログインできる

Tomcat7でSpring 3.2とSpring-security 3.1をjsf + primefacesとhibernate4とともに使用しています

ユーザーのセッションを 1 つに制限する同時実行制御を追加し、2 回目にログインしようとするとエラー メッセージを表示したいと考えていました。問題は。ChromeとFirefoxの両方にログインできます。複数のログインを防止するものではありません。私のセキュリティ設定を見ることができます。また、初回ログイン時と 2 回目ログイン時に生成されるログ 何が問題なのですか?

初回ログイン

2回目のログイン

0 投票する
2 に答える
2542 参照

c# - セッションごとのリクエストのためにNancyでNHibernateセッションをどのように処理する必要がありますか?

本当に、私の質問はタイトルにあります...セッションごとのリクエストのためにナンシーでNHibernateセッションをどのように処理する必要がありますか? それ自体に良い答えがある場合は、それを選択してください...さらに背景が必要な場合は、次のとおりです。


ASP.NET MVC で actionFilter を使用して、Web 要求の開始時と終了時に NHibernate コンテキストでセッションを開いたり閉じたりすることに慣れています。こうすることで、リクエストのコンテキスト内の各データベース操作で同じセッションが使用されます。

Nancy を使用する新しいプロジェクトで同じ種類のものをセットアップしたと思っていましたが、セッションが必要になるたびに新しいセッションが生成されます。ブートストラッパーでセッションの開始と終了を処理する方法は次のとおりです (StructureMapBootstrapper から継承):

私のは、このサイトISessionContainerに似たものに基づいています。私の実装では、NHibernate のセッション コンテキストを使用して「現在のセッション」を取得します。ISessionContainer

現在、Nancy プロジェクトでこれを試すと、ISessionContainer.Sessionプロパティが要求されるたびに新しいセッションが返されます。Nancy では Cookie ベースのセッションがデフォルトで有効になっていないためだと考えたので、これをブートストラップに追加しました。

サイコロはありません。新しいセッションを依頼するたびに、今でも新しいセッションが与えられています。

しかし、本当に、私は自分の問題を診断したくありません。Nancy で NHibernate セッション管理を処理する標準的な方法を知りたいです。

0 投票する
0 に答える
171 参照

php - セッションクッキーとは?

私はこの記事を読んでいて、 standard session management cookie(SSMC)とは正確には何なのか疑問に思っていました。

また、SSMC は である必要があるsession cookieため、ブラウザーを閉じると期限切れになることもお勧めします。

これは「改善された」記事であるため、元の記事 (ここ)で定義を探してみました。それによると、「SSMC はセッションの存続期間にわたって資格情報を処理するため、新しく割り当てられた Cookie は次のセッションまでチェックされません (その時点で、使用後に無効になります)」。

私が理解できなかったのは、ブラウザが閉じられ、セッションの有効期間の資格情報が削除されたときにセッションが期限切れになった場合、ユーザーがログインしている期間はどれくらいですか? また、これをどのように使用する必要がありますか? 「通常の」Cookie (ログイン情報を含む) がセッション Cookie であるという記事には何も記載されていないため、有効期限が必要です。

私は本当に混乱しているので、誰かが私のためにそれを解決できることを願っています. これと同じくらい安全な代替手段も歓迎されます。ありがとう!

バックグラウンド:

Cookie を使用して記憶機能を作成しています。どうやら 2 つの Cookie があります。1 つ目はSSMC(標準のセッション管理 Cookie) で、2 つ目は以下で構成されるログイン Cookie です。

  • ユーザー名
  • unique tokenユーザーがサイトにログインするたびに再生成されるA
  • 決して変化しないseries id固有の乱数です。これらは、データベースのテーブルにも格納されます。username
0 投票する
1 に答える
1998 参照

android - セッション管理は、ソープ Web サービスを呼び出す Android です。

こんにちは、soap webservices を呼び出す 1 つのログイン フォームを開発しました。それは完全に機能しました...しかし、今はその 1 つの部分を実装しています。ここでセッション管理を行います...dis ログイン フォームでセッション管理を行う方法を教えてください。 .

dis は私の Android コーディング部分です:

Androidアプリケーションでセッションを作成する方法を教えてください。アイデアを教えてください。