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 -
Method Summary
Modifier and TypeMethodDescriptionvoid
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
-
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
- исключение сервлета.
-