2011-10-18 5 views
0

私は注釈付きのバネmvcコントローラを使用しています。アプリは2つの部分で構築されています。最初の1つはユーザーの個人セッションを管理し、もう1つはグローバルデータ(ユーザー間で共有)を管理します。javaグローバルグローバル変数とユーザグローバル変数

コントローラコードは、そのようなものです:

.... 
//******Global variables: For every user !!!****** 
private String serverName = "myServer"; 
... 

@Controller 
@SessionAttributes("Login") 

.. 
public boolean validateUser(@Valid Login login){ 
if (login.userExist) 
{ 
// continue app 
// ***Here I would like a "global variable" but only for THIS user*** 
} 
else .... 

あなたは、この例でわかるように、どのように私は、すべてのユーザーと「グローバル変数」のためだけユーザーセッションのグローバル変数を持つことができますか?

答えて

0

あなたは春を使用する予定ですか、おそらくsecurity contextでしょうか?もしそうなら、そのグローバル変数には適切な場所があります。アプリのあらゆる点でコンテキストが利用可能なので

Javaに焦点を当てると、ユーザーとプロパティのペアを格納するMap<String, Set<Object>>を作成することになります。クラススコープを持つもう1つ。

+0

これはまさに私が望むものではありません。春のセキュリティはアクセスとセッションのセキュリティをカバーしています。これはまさに私の質問ではありません。実際には、すべてのクラスに対してグローバル変数を使用する方法と、いくつかのクラスメソッドに対してのみ「グローバル変数」を使用する方法についての純粋なJavaの質問です – Zamboo