Files
chunyu_project/media/learn/courses/14/chapters/61.md
T
2026-08-05 23:59:15 +08:00

1.2 KiB

JWT 认证与授权

学习目标

  • 理解 JWT 原理
  • 掌握 Spring Security 配置
  • 学会实现认证和授权

JWT 简介

JWT (JSON Web Token) 是一种无状态的认证机制,由 Header、Payload、Signature 三部分组成。

Spring Security 配置

@Configuration
@EnableWebSecurity
public class SecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) {
        http.csrf().disable()
            .authorizeHttpRequests(auth -> auth
                .requestMatchers("/api/auth/**").permitAll()
                .anyRequest().authenticated()
            );
        return http.build();
    }
}

JWT 工具类

public class JwtUtils {
    private static final String SECRET = "your-secret-key";

    public static String generateToken(String username) {
        return Jwts.builder()
            .setSubject(username)
            .setIssuedAt(new Date())
            .setExpiration(new Date(System.currentTimeMillis() + 86400000))
            .signWith(SignatureAlgorithm.HS256, SECRET)
            .compact();
    }
}

动手练习

  1. 实现用户登录接口
  2. 添加 JWT 过滤器
  3. 实现基于角色的权限控制