[Security] fixed pre/post authentication checks #9902
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.
After further investigation of #8510, I found that all checks in the
checkPreAuthactually belongs tocheckPostAuthand the same goes for checks inCheckPostAuth(I checked the original source from Spring and indeed, that's how it is implemented there: see https://github.com/spring-projects/spring-security/blob/master/core/src/main/java/org/springframework/security/authentication/dao/AbstractUserDetailsAuthenticationProvider.java#L305).
So, this PR fixes that issue. I think that we can do this change safely in 2.3 as the error message is the same for all causes by default (
$hideUserNotFoundExceptionsistrueby default inUserAuthenticationProvider).The only "real" change is whether the authentication is checked or not.