mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-07-23 10:43:30 +00:00
87 lines
2.4 KiB
Plaintext
87 lines
2.4 KiB
Plaintext
== Messaging Migrations
|
|
|
|
[[use-path-pattern]]
|
|
== Use PathPatternMessageMatcher by Default
|
|
|
|
In Spring Security 7, `SimpDestMessageMatcher` is no longer supported and will use `PathPatternMessageMatcher` by default.
|
|
|
|
To check how prepared you are for this change, you can publish this bean:
|
|
|
|
[tabs]
|
|
======
|
|
Java::
|
|
+
|
|
[source,java,role="primary"]
|
|
----
|
|
@Bean
|
|
PathPatternMessageMatcherBuilderFactoryBean messageMatcherBuilder() {
|
|
return new PathPatternMessageMatcherBuilderFactoryBean();
|
|
}
|
|
----
|
|
|
|
Kotlin::
|
|
+
|
|
[source,kotlin,role="secondary"]
|
|
----
|
|
@Bean
|
|
fun messageMatcherBuilder(): PathPatternMessageMatcherBuilderFactoryBean {
|
|
return PathPatternMessageMatcherBuilderFactoryBean()
|
|
}
|
|
----
|
|
|
|
Xml::
|
|
+
|
|
[source,xml,role="secondary"]
|
|
----
|
|
<b:bean class="org.springframework.security.config.web.messaging.PathPatternMessageMatcherBuilderFactoryBean"/>
|
|
----
|
|
======
|
|
|
|
This will tell the Spring Security DSL to use `PathPatternMessageMatcher` for all message matchers that it constructs.
|
|
|
|
Use of `PathMatcher` is no longer supported in 7.
|
|
If you are using `PathMatcher` to change the path separator or to change case sensitivity for message matching, you can configure the `PathPatternParser` to do this instead like so:
|
|
|
|
[tabs]
|
|
======
|
|
Java::
|
|
+
|
|
[source,java,role="primary"]
|
|
----
|
|
@Bean
|
|
PathPatternMessageMatcherBuilderFactoryBean messageMatcherBuilder() {
|
|
PathPatternParser pathPatternParser = new PathPatternParser();
|
|
pathPatternParser.setCaseSensitive(false);
|
|
// use . as path separator
|
|
pathPatternParser.setPathOptions(PathContainer.Options.MESSAGE_ROUTE);
|
|
return new PathPatternMessageMatcherBuilderFactoryBean(pathPatternParser);
|
|
}
|
|
----
|
|
|
|
Kotlin::
|
|
+
|
|
[source,kotlin,role="secondary"]
|
|
----
|
|
@Bean
|
|
fun messageMatcherBuilder(): PathPatternMessageMatcherBuilderFactoryBean {
|
|
val pathPatternParser = PathPatternParser()
|
|
pathPatternParser.setCaseSensitive(false)
|
|
// use . as path separator
|
|
pathPatternParser.setPathOptions(PathContainer.Options.MESSAGE_ROUTE)
|
|
return PathPatternMessageMatcherBuilderFactoryBean(pathPatternParser)
|
|
}
|
|
----
|
|
|
|
Xml::
|
|
+
|
|
[source,xml,role="secondary"]
|
|
----
|
|
<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"/>
|
|
----
|
|
======
|