You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.4 KiB
86 lines
2.4 KiB
== 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"/> |
|
---- |
|
======
|
|
|