I18N-1308: Fix circular DI for PreAuthFilter #176
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
requestHeaderAuthenticationFilter
needs anAuthenticationManager
or else it throws some RunTimeException. The previous solution was to create a faked outAuthenticationManager
which just throws an Exception on the abstract method.Later on in the pipeline, the real
AuthenticationManager
is buillt viaAuthConfig
config. TheAuthConfig
cannot be injected into theWebSecurityHeaderConfig.java
because it builds a dependency of theAuthConfig
. So it is circular in natureUltimately, a bean does not need to be registered for
requestHeaderAuthenticationFilter
. It can be created when the appropriate HEADER auth type is selected. If it is created byWebSecurityConfig.java
, theAuthConfig
(and henceAuthManager
) already exist, so a fakeAuthManager
does not need to be created and there is less confusion about where this auth mechanism gets its config from!