最新の安定バージョンについては、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"/>