一、用户中心项目笔记(自用)----项目教学来自鱼皮

项目介绍

企业核心的用户中心系统,基于 Spring Boot 后端 + React 前端的 全栈项目 ,实现了用户注册、登录、查询等基础功能。

项目收获

  1. 学会前后端企业主流开发技术的应用
  2. 了解做项目的完整流程,能够独立开发及上线项目
  3. 学到系统设计的方法和经验
  4. 学到一些实际的编码技巧,比如开发工具、快捷键、插件的使用
  5. 学到代码的优化技巧,比如抽象、封装、提高系统性能、节约资源的方法
  6. 学习登录态、代理、多环境、容器、跨域等重要的开发知识
  7. 学到一些源码阅读的技巧
  8. 提升自主解决问题的能力

技术选型

前端

主要运用阿里 Ant Design 生态:

  • HTML + CSS + JavaScript 三件套
  • React 开发框架
  • Ant Design Pro 项目模板
  • Ant Design 端组件库
  • Umi 开发框架
  • Umi Request 请求库
  • 正向和反向代理

后端

  • Java 编程语言
  • Spring + SpringMVC + SpringBoot 框架
  • MyBatis + MyBatis Plus 数据访问框架
  • MySQL 数据库
  • jUnit 单元测试库

部署

  • Linux 单机部署
  • Nginx Web 服务器
  • Docker 容器
  • 容器托管平台

本系统前后端和开发全过程均有鱼友进行详细整理,本文仅做一些个人的听课笔记

注册逻辑

  1.用户在前端输入账户和密码、以及校验码
  2.校验用户的账户、密码、校验密码,是否符合要求
        a.非空
        b.账户长度不小于4位

        c.密码就不小于8位吧
        d.账户不能重复
        e.账户不包含特殊字符
        f.密码和校验密码相同
   1.对密码进行加密(密码千万不要直接以明文存储到数据库中)

   2.向数据库插入用户数据

apache common utils库:我们可以利用StringUtils的方法,方便校验

登录接口

        接受参数:用户账户、密码(请求参数很长时不建议用get)

        请求类型:POST

        请求体:JSON格式的数据

        返回值:用户信息(脱敏)

登录逻辑

  1.校验用户账户和密码是否合法(这都不对,就省去去数据库查询,节省资源)
     a.非空
     b.账户长度不小于4位
     c.密码不小于8位
     d.账户不包含特殊字符
     校验密码是否输入正确,要和数据库中的密文密码去对比
     用户信息脱敏,隐藏敏感信息,防止数据库中的字段泄露
     我们要记录用户的登录态(session),将其存到服务器上(用后端SpringBoot框架封装的服务器tomcat去记录
     cookie
     返回脱敏后的用户信息

如何知道是哪个用户登录了?  

(这方面的知识是在学习iavaweb会接触到)
   1.连接服务器端后,得到一个session状态(名会话),返回给前端
   2.登录成功后,得到了登录成功的session,并且给该session设置一些值(比如用户信息),返回给前端一个设置cookie的“命令”
     session => cookie
  3.前端接收到后端的命令后,设置cookie,保存到浏览器内
  4.前端再次请求后端的时候(相同的域名),在请求头中带上cookie去请求
  5.后端拿到前端传来的cookie,找到对应的session
  6.后端从session中可以取出基于该session存储的变量(用户的登录信息、登录名)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值