Проблема: обеспечение безопасности приложения требует надёжной системы аутентификации и авторизации пользователей.
Решение: в книге «Java 17 Backend Development» автор предлагает процесс настройки Spring Security для реализации аутентификации с использованием JWT-токенов.
Пример кода:
public class JwtAuthenticationFilter extends OncePerRequestFilter {
private final JwtTokenProvider tokenProvider;
public JwtAuthenticationFilter(JwtTokenProvider tokenProvider) {
this.tokenProvider = tokenProvider;
}
@Override
protected void doFilterInternal(HttpServletRequest request, FilterChain chain) throws ServletException, IOException {
String token = tokenProvider.resolveToken(request);
if (token != null && tokenProvider.validateToken(token)) {
String username = tokenProvider.getUsernameFromToken(token);
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(username, null, null);
authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
SecurityContextHolder.getContext().setAuthentication(authentication);
}
chain.doFilter(request, response);
}
}
Преимущества:
— Защита приложения от несанкционированного доступа.
— Возможность настройки различных уровней доступа.
— Лёгкая адаптация к изменениям в требованиях безопасности.
Еще больше полезных книг — в нашем канале @progbook
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2👏1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9💯2👍1🔥1