|
|
@@ -9,12 +9,14 @@ import jakarta.servlet.http.HttpServletResponse;
|
|
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
|
|
import org.springframework.security.core.context.SecurityContextHolder;
|
|
|
import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
import org.springframework.web.filter.OncePerRequestFilter;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
|
+@Slf4j
|
|
|
@Component
|
|
|
public class JwtAuthenticationFilter extends OncePerRequestFilter {
|
|
|
|
|
|
@@ -32,11 +34,15 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
|
|
|
LoginUser loginUser = jwtUtils.parseLoginUser(token);
|
|
|
if (loginUser != null && SecurityContextHolder.getContext().getAuthentication() == null) {
|
|
|
UsernamePasswordAuthenticationToken authentication =
|
|
|
- new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities());
|
|
|
+ new UsernamePasswordAuthenticationToken(
|
|
|
+ loginUser, null,
|
|
|
+ loginUser.getAuthorities() != null ? loginUser.getAuthorities() : java.util.Collections.emptyList()
|
|
|
+ );
|
|
|
authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
|
|
|
SecurityContextHolder.getContext().setAuthentication(authentication);
|
|
|
}
|
|
|
- } catch (Exception ignored) {
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.debug("JWT token解析失败: {}", e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
chain.doFilter(request, response);
|