Что означает эта строка?
Как правило, это означает, что если вы вернете значение null из переопределенного метода attemptAuthentication()
, цепочка фильтров будет разорвана, и после UsernamePasswordAuthenticationFilter
не будет вызываться никаких других фильтров. После чего вы несете ответственность за завершение процесса аутентификации, а не за другие фильтры в цепочке.
Вы можете взглянуть на строку исходного кода метода AbstractAuthenticationProcessingFilter#doFilter()
: 201.
Другими словами, возврат null
обойдется вам в дополнительную работу.
Если вы хотите переопределить только attemptAuthentication()
, вы должны бросить AuthenticationException
при неудачной аутентификации.
Если вы хотите вернуть null
из attemptAuthentication()
, вам также следует переопределить doFilter()
и обработать результат null
самостоятельно.