問題タブ [session-scope]

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 投票する
3 に答える
89321 参照

session - JSF 2.0でセッションを無効にする方法は?

JSF 2.0アプリケーション内のセッションを無効にするための最良の方法は何ですか?JSF自体がセッションを処理しないことは知っています。これまでのところ私は見つけることができました

  1. この方法は正しいですか?ServletAPIに触れずに方法はありますか?
  2. @SessionScopedUserBeanがユーザーのログイン-ログアウトを処理するシナリオを考えてみましょう。私は同じBeanでこのメソッドを使用しています。必要なDBの更新が完了した後でメソッドを呼び出すとreset()、現在のセッションスコープのBeanはどうなりますか?Bean自体も?に保存されているのでHttpSession
0 投票する
1 に答える
7726 参照

java - Guiceで@SessionScopedを使用する方法

こんにちは
私は現在Guiceと@SessionScopedで遊んでいます。もっとわかりやすくするために、(非常に単純な)認証プロセスを構築することにしました。

以下に、私が行った各ステップについて説明します。それでは、いくつか質問させていただきます。

[1] 人(ゲストまたはユーザー)を表すIdentityクラスを作成しました:

[2] 次に、ユーザーにログインする認証クラスを作成しました。

[3] 次に、サーブレットでユーザーにログインします。

[4] 最後に、ユーザーが認証されているかどうかを示すフィルターを作成します。

まあ、このコードは機能していません。私のIDのuidは常に「null」です。

質問に行きましょう:

a-まず第一に、なぜ私のコードが機能しなかったのですか?
b-@ SessionScopedは、HttpSessionでオブジェクトを設定することと同等ですか?
c-(http)セッションでIdentityオブジェクト(それのみ)を無効にする方法は?
d-一般的に、どの場合に@SessionScopedを使用する必要がありましたか?

読んでいただきありがとうございます、
あなたの答えを待っています。

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

jsf - セッション スコープの JSF Bean でスコープ プロパティをリクエストする

リクエスト (ページ) スコープの 1 つのプロパティを持つ、セッション スコープの JSF Bean が必要です。それはまったく可能ですか?

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

session - 多くのセッションを生成するCDISessionScopedBean

ログインしています。問題は次のとおりです。私のisUserLoggedIn()メソッドが他のセッションによって数回呼び出されます(を使用して確認しました (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false))。

(JSFページの)ログインBeanは次のとおりです。

つまり、login()が呼び出されると、getSession()を介してXであることがわかりますが、その後、別のページにアクセスしようとすると、isUserLoggedIn()を呼び出すと、getSession()メソッドは代わりにYを返します。 Xの場合、ユーザー属性はnullです。多くの場合、isUserLoggedIn()メソッドは1回のリクエストで数回呼び出され、呼び出されるたびにセッションが変更されます。

ちなみに、私はJBoss AS7 Finalを使用しており、faces-config.xmlは次のとおりです。

何か案は?ありがとうございました。

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

jsf - セッションスコープで初期化されたBeanを別のセッションスコープに渡す方法は?

ログインページがあり、データベースにユーザーが存在するかどうかを確認します。存在する場合は、Beanが初期化されてからページuser にリダイレクトされますが、( で) 別の でユーザー値をキャッチしたいと思います。各ビューの責任を台無しにしないようにmyprofile.xhtmlmyprofile.xhtmlManageBeanManageBean.

UPDATEBalusC アプローチに従ってください:

初期化されたオブジェクト mUser (モデル) のみをキャッチしたいと思います。

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

jsf - 別のユーザーでログインしても、CDISessionScopedBeanインスタンスは変更されません。

私はこの問題の回避策をかなり長い間探していましたが、結果が得られなかったので、ここで質問します。

簡単に言うと、プロジェクトでCDI SessionScoped Beanを使用して、Userユーザー情報を管理し、jsfページに表示しています。また、コンテナ管理j_security_checkは認証の問題を解決するために使用されます。

session.invalidate()最初にログアウトしてから、別のユーザーで同じブラウザタブにログインすれば、すべて問題ありません。しかし、login.jsf事前にログアウトせずに新しいユーザーで直接ログイン(を介して)しようとすると、ユーザー情報が変更されていないことがわかりました。

デバッグしたところ、同じブラウザで別のユーザーにログインしても、呼び出されない限り、 UserBeanとインスタンスは常に同じままであることがわかりました。しかし奇妙なことに、セッションIDが変更され、JavaコードとFirebugの両方をチェックインしました。HttpSessionsession.invalidate()

上記のブロックには、2つの連続したログインとそのSession情報が含まれています。インスタンス(1行目)は同じですが、セッションID(2行目)は異なります。セッションオブジェクトは異なるセッションIDを含むために再利用され、CDIフレームワークはセッションオブジェクトのみ(?)に従ってセッションBeanのライフサイクルを管理しているようです。

無効にしない限り、同じブラウザ内にサーバー側のセッションオブジェクトが1つしかないのではないかと思います。

私はそれを採用しているのでj_security_check、それを傍受して古いセッションを無効にするのはそれほど簡単ではありません。それで、同じブラウザ内の同じまたは異なるタブで異なるアカウントで再ログインできるCDI + JSF + j_security_checkの設計を変更せずに、目標を達成することは可能ですか?

ご返信を心よりお待ちしております。

詳細:Glassfishv3.1は私のappserverです。

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

jsf - JSF 2:セッション開始時にセッションスコープのBeanを初期化することは可能ですか?

JSF 2で、セッションコンテキストがロードされるとすぐに、セッションスコープのマネージドBeanを初期化することは可能ですか?eagerアプリケーションスコープのBeanとアノテーションの属性で可能であることは知っています@ManagedBeanが、セッションBeanにも同様のことがありますか?特定のページにアクセスしたかどうかに関係なく、ロードしたいセッションスコープのBeanがあります。

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

java - Java、Spring MVC での Ajax ロング ポーリング - セッション スコープの問題

Spring MVC を使用するプロジェクトで、グリッドを自動更新するためのロング ポーリング メカニズムを実装しようとしています。

クライアントから Ajax リクエストを送信しています。サーバー側では、データが見つかるまで while ループに入り、データが応答として返されます。

ユーザーがアプリケーションのタブを変更したときにこの操作を停止する (ループを中断する) 別のメカニズムが必要です (すべてのタブには、長いポーリングによって自動更新される異なるグリッドがあります。すべてのタブは、サーバー側で処理されます別のコントローラー)。

私が考えたのは、クライアントがタブを変更したときに変更され、変更時に中断できるようにループ内からアクセスできるセッションスコープの変数または Bean が必要であるということです。Spring MVC Bean スコープを使用しようとしたときに、Bean のプロパティが 2 つの異なるセッション (つまり HttpSession) で共通していることに気付きました。同じマシンから別のユーザーでログインして、これをテストしました。

を使用してみましたが、結果は同じでした。

これを機能させる方法についてのアイデアはありますか?

前もって感謝します。

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

nhibernate - Castle ActiveRecord SessionScope から現在の NHibernate Session オブジェクトを取得する方法

Castle ActiveRecord SessionScope を開いています。SessionScope にラップされた nhibernate セッションを使用する必要があります。

SessionScope から現在の NHibernate セッション オブジェクトを取得するにはどうすればよいですか?

返信ありがとうございます。

[更新] 私はこのコードを持っています

しかし、GetSession パラメーターに何を渡すのかわかりません