最新の安定バージョンについては、Spring Security 7.0.3 を使用してください!

メッセージング移行

デフォルトで PathPatternMessageMatcher を使用する

Spring Security 7 では、SimpDestMessageMatcher はサポートされなくなり、デフォルトで PathPatternMessageMatcher が使用されます。

この変更に対する準備状況を確認するには、次の Bean を公開します。

  • Java

  • Kotlin

  • XML

@Bean
PathPatternMessageMatcherBuilderFactoryBean messageMatcherBuilder() {
	return new PathPatternMessageMatcherBuilderFactoryBean();
}
@Bean
fun messageMatcherBuilder(): PathPatternMessageMatcherBuilderFactoryBean {
    return PathPatternMessageMatcherBuilderFactoryBean()
}
<b:bean class="org.springframework.security.config.web.messaging.PathPatternMessageMatcherBuilderFactoryBean"/>

これにより、Spring Security DSL は、構築するすべてのメッセージマッチャーに PathPatternMessageMatcher を使用するように指示します。

7 では、PathMatcher の使用はサポートされなくなりました。パス区切り文字を変更したり、メッセージの一致で大文字と小文字の区別を変更したりするために PathMatcher を使用している場合は、代わりに次のように PathPatternParser を設定することができます。

  • Java

  • Kotlin

  • XML

@Bean
PathPatternMessageMatcherBuilderFactoryBean messageMatcherBuilder() {
	PathPatternParser pathPatternParser = new PathPatternParser();
	pathPatternParser.setCaseSensitive(false);
	// use . as path separator
	pathPatternParser.setPathOptions(PathContainer.Options.MESSAGE_ROUTE);
	return new PathPatternMessageMatcherBuilderFactoryBean(pathPatternParser);
}
@Bean
fun messageMatcherBuilder(): PathPatternMessageMatcherBuilderFactoryBean {
    val pathPatternParser = PathPatternParser()
	pathPatternParser.setCaseSensitive(false)
    // use . as path separator
	pathPatternParser.setPathOptions(PathContainer.Options.MESSAGE_ROUTE)
    return PathPatternMessageMatcherBuilderFactoryBean(pathPatternParser)
}
<b:bean class="org.springframework.web.util.pattern.PathPatternParser">
    <b:property name="caseSensitive" value="false"/>
    <!-- use . as path separator -->
    <b:property name="pathOptions" value="#{T(org.springframework.http.server.PathContainer.Options).MESSAGE_ROUTE"/>
</b:bean>
<b:bean class="org.springframework.security.config.web.messaging.PathPatternMessageMatcherBuilderFactoryBean"/>