2011-12-10 5 views
0


私は春を使ってWebアプリケーションを開発しています。ここでHTTPSessionsとSpring

が問題だ、私はこれらの3つのURL、

www.sample.com/login.do

www.sample.com/homePage.do

WWWを持っていると言います。 sample.jsp

about.jspページは、ユーザーがログインしていてもアクセスできる必要があります。ユーザーがログインしていない場合にhomePage.doにアクセスしようとすると、login.doページにリダイレクトされます。

私はこれがうまくいくと思いますが、HTTPSessionsが必要ですが、SpringのHTTPSessionsをどのように管理するのか分かりません。

いくつかのフィルタを使用してこれを達成できますか?もしそうなら、それを通して私を導くことができますか?

私は、Spring MVCやSpring Annotationを使用したいと考えています。

+1

のように見えるだろう。 – gouki

答えて

2

使用Spring Security

あなたの春の設定ファイルには、これは春のセキュリティが強化された、かなり簡単なはずビット

<security:http auto-config="true" use-expressions="true"> 

    <security:intercept-url pattern="login.do" access="permitAll"/> 
    <security:intercept-url pattern="about.jsp" access="permitAll"/> 
    <security:intercept-url pattern="homePage.do" access="isAuthenticated"/> 

    <security:form-login 
    login-page="login.jsp" 
    authentication-failure-url="login?error=true" 
    default-target-url="homePage.do"/> 
</security:http> 

<security:authentication-manager> 
     ... 
</security:authentication-manager> 
+0

返事をありがとう。私はこの方法も検討します。私がやっていることは、これらのURLパターン用のフィルタを作成したことです(実際には、すべてのステートフルURLを* .htmlに変更しました)。* .doと* .html。アクティブなセッションを持つステートレスURLリクエストがあれば、それはフィルタを介してホームページにリダイレクトされ、逆もまた同様です。それは大丈夫でしょうか? – sYl3r

+1

私は2番目のgoukiとラルフ。フィルタを使用することもできますが、Spring Securityを使用してこれを実現する方がよいでしょう。これは設定だけで、残りのコードとSecurityレイヤを分離します。これを真剣に考えてください。 –

+0

@ sYl3r:もちろん独自のフィルタを実装することもできますしかし、自分の時間を執筆、デバッグ、修正、独自のソリューションの維持に費やす代わりに、この時間を使って春のセキュリティを学ぶこともできます。私は、成熟した、頻繁に使用され、強力なフレームワークであるため、春のセキュリティを確保することがより良い選択であると信じています。また、セキュリティ上の懸念から、成熟したフレームワークを使用する方が、独自の実装よりも常に優れています。 – Ralph