编写注册接口
在UserController添加方法
@PostMapping("/login")
public Result login(@Pattern(regexp = "^\\S{5,16}$") String username,
@Pattern(regexp = "^\\S{5,16}$") String password){
// 根据用户名查询用户
User loginUser = userService.findByUserName(username);
// 判断该用户是否存在
if(loginUser==null){
return Result.error("用户名错误");
}
// 判断密码是否正确,loginUser中对应的password是密文
if (Md5Util.getMD5String(password).equals(loginUser.getPassword())){
// 登录成功
return Result.success("jwt令牌...");
}
return Result.error("密码错误");
}
postman测试
输入错误密码后
登录认证
用户如果没有登录,不能访问其他接口,其他接口需要对登录认证进行检查。
编写一个文章接口,发现在没有登录的情况下依然可以看到文章列表
jwt令牌
令牌就是一段字符串。
功能
- 承载业务数据,减少后续请求查找数据库的次数,从令牌里获取用户数据
- 防篡改,保证信息的合法性和有效性