编写注册接口与登录认证

编写注册接口

在UserController添加方法

java 复制代码
@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令牌

令牌就是一段字符串。

功能

  • 承载业务数据,减少后续请求查找数据库的次数,从令牌里获取用户数据
  • 防篡改,保证信息的合法性和有效性
相关推荐
vipxieliang11 分钟前
Spring Boot 性能优化实战:从启动加速到运行时调优
java·spring boot
AI全栈学习助手25 分钟前
告别“转圈等待”:Spring Boot + SSE 让大模型像 ChatGPT 一样流式输出
java·人工智能·spring boot·后端·aigc
云-缩影10 小时前
拆解 AI 图像生成应用的后端架构:ECS、OSS 和大模型 API 怎么配合
java·spring boot·后端
AI开源软件12 小时前
SpringBoot3+Vue3 财务管理系统如何设计:从业务单据到总账的模块划分
spring boot·vue3·领域建模·会计凭证·ruoyi office·业财协同·财务系统设计
Mikko717 小时前
Redis 连接数满了服务端有错误信息吗?连接数不增加却命令超时?6.2 实测连接池、超时与大 key 怎么判定
java·spring boot·redis·后端
计算机毕设定制辅导-无忧学长1 天前
《基于微信小程序健康习惯激励系统设计与实现》
java·spring boot·mysql·微信小程序·uniapp·健康习惯激励系统
vipxieliang1 天前
ValidX 正则表达式预编译优化:Pattern 复用策略
java·spring boot·后端
余槐i1 天前
Spring Boot 3.2 偶发500无日志:线程池复用导致请求上下文丢失
spring boot·redis·后端·mysql·性能优化
杨凯凡1 天前
Spring Boot 的 @Transactional 为什么会失效?从代理、自调用到异常回滚的排查实战
java·spring boot·spring·事务·后端开发
云创智城-yuncitys2 天前
YunParking 4.0:JDK 17 与 Spring Boot 3.2 的停车云升级
java·开发语言·spring boot