Class JwtFilter

java.lang.Object
org.springframework.web.filter.GenericFilterBean
ru.averkiev.greenchat_auth.security.JwtFilter
All Implemented Interfaces:
jakarta.servlet.Filter, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.EnvironmentAware, org.springframework.core.env.EnvironmentCapable, org.springframework.web.context.ServletContextAware

@Component public class JwtFilter extends org.springframework.web.filter.GenericFilterBean
Класс JwtFilter является фильтром Spring Security, который обрабатывает HTTP-запросы, содержащие JSON Web Token (JWT). Фильтр извлекает токен из заголовка Authorization, проверяет его с использованием JwtProvider, и если токен действительный, создает объект JwtAuthentication, представляющий информацию о пользователе из JWT, и устанавливает его в контекст безопасности.
Author:
mrGreenNV
  • Field Summary

    Fields inherited from class org.springframework.web.filter.GenericFilterBean

    logger
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    doFilter(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain filterChain)
    Метод doFilter обрабатывает HTTP-запросы, проходящие через данный фильтр.

    Methods inherited from class org.springframework.web.filter.GenericFilterBean

    addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JwtFilter

      public JwtFilter()
  • Method Details

    • doFilter

      public void doFilter(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain filterChain) throws IOException, jakarta.servlet.ServletException
      Метод doFilter обрабатывает HTTP-запросы, проходящие через данный фильтр. Он извлекает JSON Web Token (JWT) из заголовка Authorization HTTP-запроса, сравнивает его с помощью JwtProvider, и если токен действителен, создает объект JwtAuthentication с помощью JwtUtils.generate и устанавливает его в контекст безопасности с помощью SecurityContextHolder.getContext().setAuthentication(jwtInfoToken). После успешной обработки, запрос передается на следующий фильтр или обработчик.
      Parameters:
      servletRequest - HTTP-запрос.
      servletResponse - HTTP-ответ.
      filterChain - цепочка фильтров для обработки запроса.
      Throws:
      IOException - исключение ввода/вывода.
      jakarta.servlet.ServletException - исключение сервлета.