编写注册接口与登录认证

编写注册接口

在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令牌

令牌就是一段字符串。

功能

  • 承载业务数据,减少后续请求查找数据库的次数,从令牌里获取用户数据
  • 防篡改,保证信息的合法性和有效性
相关推荐
砍材农夫5 小时前
物联网实战:Spring Boot MQTT | MQTT 设备模拟器演示(附源码)
java·spring boot·后端·物联网·spring·netty
YDS8295 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— Agent执行链路设计之ReAct Loop
java·spring boot·ai·agent·deepseek
一 乐7 小时前
人口老龄化社区服务与管理平台|基于springboot+vue的人口老龄化社区服务与管理平台(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·人口老龄化社区服务与管理平台
ss2739 小时前
ai编程Trae cn生成图书管理系统(1)
java·数据库·spring boot·python·flask·fastapi
小马爱打代码10 小时前
SpringBoot + 延迟消息 + 时间轮:订单超时、优惠券过期等场景的高效实现方案
java·spring boot·后端
Bat U11 小时前
JavaEE|SpringBoot快速入门
spring boot·java-ee·mybatis
张小凡vip13 小时前
Spring Boot集成Kafka完整版
spring boot·kafka·linq
摇滚侠13 小时前
SpringBoot 升级,依赖冲突如何解决
java·spring boot·spring
小江的记录本14 小时前
【JVM虚拟机】类加载机制:类加载器、双亲委派模型、好处、破坏双亲委派的场景(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
Devin~Y14 小时前
智慧物流+AIGC客服Java大厂面试:Spring Boot、Kafka、Redis、JVM与RAG Agent实战
java·jvm·spring boot·redis·spring cloud·kafka·rag