springboot使用jwt实现登录验证
时间: 2024-01-24 16:10:22 浏览: 150
SpringBoot使用JWT(JSON Web Token)实现登录验证是一种常见的方式。在SpringBoot中,可以通过编写相应的代码来实现JWT登录验证。通过对用户的登录信息进行校验,根据校验结果生成相应的token,并将token返回给用户。用户在后续的请求中携带token,服务器会对token进行解析,以验证用户的身份。
在SpringBoot中,可以通过以下步骤来实现JWT登录验证:
1. 编写用户登录接口,接收用户的登录信息。
2. 根据登录信息进行校验,判断用户是否合法。
3. 如果用户合法,生成JWT token,并将token返回给用户。
4. 用户在后续的请求中携带token。
5. 验证token的合法性,确保用户身份的准确性。
以下是一个示例代码,演示了使用JWT实现登录验证的过程:
```java
@RestController
public class UserController {
@RequestMapping("user.login")
public String login(@RequestBody UserLoginVo loginVo) {
// 后期改为走数据库校验,此处为测试目的可以写死
if("admin".equals(loginVo.getUserName()) && "admin".equals(loginVo.getPassWord())){
UserRole userRole = new UserRole();
userRole.setUserId(0L);
userRole.setRoles(Arrays.asList(1L,2L));
return JwtUtil.getToken(userRole);
}
return "";
}
}
```
在上述代码中,通过接收用户的登录信息,校验用户名和密码是否正确。如果正确,生成JWT token,并返回给用户。用户在后续的请求中,可以携带该token进行身份验证。
```java
@RestController
public class TestController {
@RequestMapping("test.get")
public UserRole getUser(@RequestBody Map<String,String> map) {
// 这里只是测试获取登录后的用户信息,可以加入自己的业务代码
return JwtUtil.decryptTokenByServlet();
}
}
```
在上述代码中,演示了如何解析token,并获取登录用户的信息。根据具体的业务需求,可以在解析token的基础上进行进一步的操作。
阅读全文