杠精派
派聪明
0/512

3 条评论

阿白 2026年01月27日 19:56
引用原文:04、JWT 工具类 JwtUtils负责生成、验证和解析 JWT 令牌。类中使用 @Value("${jwt.secret-key}") 从配置文件读取 Base64 编码的密钥,通过 getSigningKey() 方法解码并生成 SecretKey 对象。令牌有效期设置为24小时。并使用 HS256 签名算法确保令牌的完整性。 @Component public class JwtUtils { private static final String SECRET_KEY = "test_secret_key"; private static final long EXPIRATION_TIME = 86400000; // 24 hours public String generateToken(String username) { return Jwts.builder() .setSubject(username) .setExpiration(new Date(System.currentTimeMillis() + EXPIRATION_TIME)) .signWith(SignatureAlgorithm.HS256, SECRET_KEY) .compact(); }
这里和项目代码有点不一样,下面的描述是对的。 generateToken(String username) 方法是权限信息封装的核心,它不仅将用户名作为 subject,还将权限信息封装到 claims 中,包括用户角色(role)、用户ID(userId)、**标签(orgTags)和主**(primaryOrg)等。这种设计使得 JWT 令牌成为一个自包含的权限载体,避免频繁的数据库查询。
点赞
回复 取消回复
阿白 2026年01月27日 18:00
引用原文:不仅将用户名作为 subject,还将权限信息封装到 claims 中,包括用户角色(role)、用户ID(userId)、组织标签(orgTags)和主组织(primaryOrg)等。这种设计使得 JWT 令牌成为一个自包含
这个看一下
点赞
回复 取消回复
贤惠的金针菇 2025年11月18日 22:50
引用原文:权限集合( getAuthorities(user.getRole()) )。
为什么用集合? 设计原则:用户可以有多个权限 扩展性:未来可以轻松添加具体权限 灵活性:支持细粒度的权限控制 虽然你现在只用了角色,但框架为你预留了扩展空间!这就是好的设计!😊
2
回复 取消回复

目录