123123

http://www.baidu.com/s?bs=c%2B%2B+%B4%FA%C2%EB%C7%F8&f=8&wd=%D7%D6%B7%FB%B3%A3%C1%BF%C7%F8+%BE%B2%CC%AC%B4%E6%B4%A2%C7%F8   

 

http://topic.youkuaiyun.com/t/20030107/12/1334578.html

http://topic.youkuaiyun.com/t/20051207/18/4444434.html

http://hi.baidu.com/bdduyaojun/blog/item/8cd939f89bd2b9066d22eb96.html

http://c.chinaitlab.com/cc/basic/200906/787241.html

http://wenku.baidu.com/view/109b52c6aa00b52acfc7ca53.html

http://zhidao.baidu.com/question/207920284.html

http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece76310578b270e54f720748a8c4268d4e40bd0735b36163bbca676774b13d3b32c3c5db20a14abaa6532601e71e2c0df8f3e9ef3d3727cc87061275a9146668e45f89d1163927bce4de8db5ebce6e733e5a5d5d9da5258c057066d80f4d01c574b9139e71547e0a6934f1f5f14bfee3272ff5d267cc47f13e910eee1443f52dae1da280f8b6b8a3251c0fa62f66159eb48e5590c2440e10ee25906616bbc582689462941cfab0be83d094634c23ba4c8c1a19c389bdd9a26e8fedcde58826196d29cf866350045fb55a9dacea549125272aedda860d333cced9cbe5b9863&p=926ed52981904ea905bd9b780d4f&user=baidu&fm=sc&query=%B4%FA%C2%EB%B6%CE%D3%EB%CA%FD%BE%DD%B6%CE&qid=ec3dc9a141b1aac5&p1=9

 

http://bbs.chinaunix.net/thread-280066-1-1.html

http://blog.youkuaiyun.com/gxj1680/archive/2010/08/31/5853599.aspx

http://topic.youkuaiyun.com/t/20060901/18/4992708.html

http://blog.youkuaiyun.com/jlccwss/archive/2008/10/19/3094673.aspx

http://wenku.baidu.com/view/095af3d9ad51f01dc281f138.html

 

http://wenku.baidu.com/view/2ab80f5d3b3567ec102d8af1.html

 

http://baike.baidu.com/view/487018.htm

http://baike.baidu.com/view/6159.htm

http://baike.baidu.com/view/453125.htm#sub5140589

http://blog.youkuaiyun.com/lhfqq/archive/2010/02/04/5287113.aspx

http://wenku.baidu.com/view/5a5b8f22482fb4daa58d4b07.html

http://www.baidu.com/s?bs=%D7%D6%B7%FB%B3%A3%C1%BF%C7%F8+%BE%B2%CC%AC%B4%E6%B4%A2%C7%F8&f=8&wd=%B4%FA%C2%EB%C7%F8+%BE%B2%CC%AC%B4%E6%B4%A2%C7%F8

### 如何正确设置或生成 Token 在现代应用程序开发中,JSON Web Tokens (JWT) 是一种广泛使用的身份验证机制。以下是有关如何正确设置和生成 JWT 的详细说明。 #### 1. 使用 Spring Boot 整合 JWT Spring Boot 提供了一种简单的方式来集成 JWT 身份验证功能。当用户发送登录请求并经过验证后,可以生成一个有效的 JWT 并将其返回给客户端[^1]。 ```java // 创建一个工具类用于生成和解析 JWT public class JwtTokenUtil { private static final String SECRET_KEY = "your_secret_key"; // 密钥需安全存储 private static final long EXPIRATION_TIME_MS = 3600000; // 过期时间(毫秒) public static String createToken(String userId, Long expirationTimeMs) { Date now = new Date(); Date expiryDate = new Date(now.getTime() + expirationTimeMs); return Jwts.builder() .setSubject(userId) .setIssuedAt(now) .setExpiration(expiryDate) .signWith(SignatureAlgorithm.HS512, SECRET_KEY.getBytes()) .compact(); } } ``` 上述代码展示了如何创建一个基于用户 ID 和指定过期时间的 JWT。`createToken` 方法接受两个参数:用户的唯一标识符 `userId` 和令牌的有效期限 `expirationTimeMs`。最终生成的字符串即为可传递至前端的 token。 #### 2. 验证用户名和密码并生成 Token 首次访问 API 时,通常情况下客户端不会携带任何认证信息。此时服务端需要通过数据库校验用户提供凭据的真实性。一旦确认无误,则生成一个新的 Token 返回给调用方[^2]。 ```java @PostMapping("/login") public ResponseEntity<?> authenticateUser(@RequestBody LoginRequest loginRequest) { Authentication authentication = authenticationManager.authenticate( new UsernamePasswordAuthenticationToken(loginRequest.getUsername(), loginRequest.getPassword())); SecurityContextHolder.getContext().setAuthentication(authentication); String jwt = JwtTokenUtil.createToken(authentication.getName(), EXPIRATION_TIME_MS); return ResponseEntity.ok(new AuthResponse(jwt)); } ``` 此片段定义了一个 `/login` 接口来处理 POST 请求中的用户名与密码组合。如果匹配成功,则利用之前提到的方法构建新的 JSON Web Token,并封装成响应对象传回给客户程序。 #### 注意事项 - **密钥管理**: 应该妥善保管签名算法所依赖的秘密钥匙(secret key),防止泄露。 - **安全性考量**: 设置合理的有效期以及刷新策略有助于提升系统的整体防护水平。 - **跨域资源共享(CORS)**: 如果前后端分离部署,在实际项目里可能还需要额外配置 CORS 政策支持合法域名间的交互操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值