-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Closed
Labels
in: webAn issue in web modules (web, webmvc)An issue in web modules (web, webmvc)type: bugA general bugA general bug
Milestone
Description
Describe the bug
When server.forward-headers-strategy=framework
is used in a WebFlux project that makes use of an IpAddressServerWebExchangeMatcher
a NullPointerException
is thrown when a Forwarded
or X-Forwarded-For
header is present because the remoteAddress created by ForwardedHeaderTransformer
is unresolved.
To Reproduce
- Create a sample WebFlux project and set
server.forward-headers-strategy=framework
- Define a
SecurityWebFilterChain
bean that calls anIpAddressServerWebExchangeMatcher
- Submit a request with a
Forwarded
orX-Forwarded-For
header
Expected behavior
The IpAddressServerWebExchangeMatcher
should execute as normal with no exception thrown.
Sample
server.forward-headers-strategy=framework
@Bean
public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity httpSecurity) {
return httpSecurity
.authorizeExchange(auth -> auth
.pathMatchers("/**")
.access((authentication, authorizationContext) ->
new IpAddressServerWebExchangeMatcher("255.255.255.255")
.matches(authorizationContext.getExchange())
.map(matchResult -> new AuthorizationDecision(matchResult.isMatch()))))
.build();
}
Metadata
Metadata
Assignees
Labels
in: webAn issue in web modules (web, webmvc)An issue in web modules (web, webmvc)type: bugA general bugA general bug