Как Spring Security BadCredentialsException сопоставляется с кодом HTTP 401
Когда я бросаю org.springframework.security.authentication.BadCredentialsException
исключение, в клиенте будет отображаться 401
как показано ниже,
{
"timestamp": "2016-03-29T09:07:50.866+0000",
"status": 401,
"error": "Unauthorized",
"message": "Some message",
"path": "/test/service1/getAll"
}
Я хочу знать, где и как BadCredentialsException
сопоставлены с HTTP 401
Код статуса?
1 ответ
Решение
Это ExceptionTranslationFilter
это обрабатывает исключения, выданные перехватчиками безопасности и обеспечивает подходящие ответы HTTP:
ExceptionTranslationFilter
сидит надFilterSecurityInterceptor
в стеке фильтров безопасности. Он не выполняет никаких действий по обеспечению безопасности, но обрабатывает исключения, создаваемые перехватчиками безопасности, и предоставляет подходящие и HTTP-ответы.
Проверьте документацию Spring Security для получения дополнительной информации здесь и здесь.