2010-12-28 14 views
2

私はWebアプリケーション用にSpringを使用しています。私はいくつかのSimpleFormControllerを使いました。私は、セッションを使用して、ユーザーがlogedされていない場合、すなわち、他のコントローラはロードしないように、他のSimpleFormControllersを保護するにはどうすればよいSpringセッション管理

HttpSession session = request.getSession(true); 

:私は使用してログインページの最初SimpleFormControllerでセッションを作成しました。

ありがとうございました

答えて

6

おそらく、Spring Securityを使用したいと思うかもしれません。 柔軟性があり、ロールに基づいて制限を加えることができます。

これがなければ、ユーザーがログインしたかどうかすべてのコントローラーを手動でチェックインする必要があります。または、Webアプリケーションにフィルタを追加することによって、セキュリティフレームワークを「再構築」する必要があります。

セッションの取得操作のみを保護する場合は、元の要求をラップするフィルターを作成し、getSessionメソッドをオーバーライドする必要があります。そこで、元のリクエストのgetSession()を使用してログインデータを確認できます。

ところで、getSession()が意図したセッションの外部からのアクセスからコントローラを保護するためにgetSession(true)

+0

あなたのヴィタリーをありがとうございます。 Spring Securityを使用する例はありますか? – Tal

+0

http://static.springsource.org/spring-security/site/start-here.html素晴らしいビデオデモとサンプルアプリケーションがあります –

+0

私がSpring MVC 3とSpring Security 3についてhttp:// krams915で書いたこれらのガイドを確認してください.blogspot.com/p/tutorials.html – chris

0

に相当し、あなたはこの明確に書かれたマニュアルで必要なスコープの規則を比較したいことがあります。著者は@Scope(「セッション」)で注釈を付けコントローラを作成する例を示します How to get Session Object In Spring MVC