1.2 KiB
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();
}
}
动手练习
- 实现用户登录接口
- 添加 JWT 过滤器
- 实现基于角色的权限控制