@EgorSvinarev

Как обработать AuthenticationException в контроллере?

Здравствуйте. Имеется метод сервиса, который выбрасывает исключение, наследуемое от AuthenticationException, и который отвечает за процесс идентификации.

Сервис

public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
		
		Optional<User> user = repository.findByUsername(username);
		
		if (user.isEmpty()) {
			throw new UsernameNotFoundException("The user wasn't found.");
		}
		
		return user.get();
}



Вопрос заключается в том, как обработать данное исключение, чтобы получить сообщение из исключения и поместить его во вьюшку?
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день!
Исключения можно обработать на глобальном уровне при помощи @ControllerAdvice или же обработать на уровне контроллера.
Обратите внимание на раздел "Global Exception Handling"по ссылке ниже

Вот, тут ссылка на полезную статью по вашему вопросу:
https://spring.io/blog/2013/11/01/exception-handli...
Обратите внимание на раздел - Controller Based Exception Handling @ExceptionHandler

Вопрос заключается в том, как обработать данное исключение, чтобы получить сообщение из исключения и поместить его во вьюшку?

Лучше не выводить внутреннее состояние (исключения) вашего приложения на фронт, так как это может потенциально нарушить безопасность вашего приложения. Поймайте исключение, а во вью поместите другое сообщение. Например, "Аутентификация не удалась"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы