2012-01-24 15 views
1

最近、Spring Securityバージョン3.0からバージョン3.1にアップグレードしました。私たちの古い設定ファイルでは、 'filter = "none"'オプションを使用して<インターセプト-url >ブロックのブロックを<http>ブロック内でブロックする機能が使用されていました。Spring Security 3.1およびUnsecured HTTP Channel

<http security="none" pattern="/resetPassword" /> 

質問:

<http ...> 
    <intercept-url pattern="/resetPassword" filter="none" requires-channel="https" /> 
</http> 

春のセキュリティ3.1部隊あなたが特定のURLパターンのセキュリティをオフにするために、追加の<HTTP>ブロックを定義する:ここでは私たちの古いApplicationContextの-のsecurity.xmlファイルからの抜粋です:この新しい<HTTP>ブロックのHTTPSチャネルを強制的にブロックするにはどうすればよいですか?

答えて

3

filters = "none"は、Spring Securityがその要求に注意を払うべきではないため、実際にはhttpsを必要としていませんでした。代わりに、Spring Security 3と3.1の両方で、次のようなものを使用する必要があります。

<http use-expressions="true" ...> 
    <intercept-url pattern="/resetPassword" access="permitAll" requires-channel="https" /> 
    </http> 
+0

ありがとう!他の小さな微調整 - つまり、役割に直接名前を付ける代わりに、hasAnyAuthority(... Roles ...)を使用する - これは美しく機能しました。 – sutlermb

関連する問題