更新配套教程

This commit is contained in:
Veal98 2021-03-28 21:52:33 +08:00
parent 682c6884ab
commit 9803a80fed
5 changed files with 70 additions and 70 deletions

View File

@ -9,7 +9,6 @@
</p> </p>
<div align="center"> <div align="center">
[![star](https://gitee.com/veal98/Echo/badge/star.svg?theme=dark)](https://gitee.com/veal98/Echo/stargazers) [![star](https://gitee.com/veal98/Echo/badge/star.svg?theme=dark)](https://gitee.com/veal98/Echo/stargazers)
[![fork](https://gitee.com/veal98/Echo/badge/fork.svg?theme=dark)](https://gitee.com/veal98/Echo/members) [![fork](https://gitee.com/veal98/Echo/badge/fork.svg?theme=dark)](https://gitee.com/veal98/Echo/members)
[![GitHub stars](https://img.shields.io/github/stars/Veal98/Echo?logo=github)](https://github.com/Veal98/Echo/stargazers) [![GitHub stars](https://img.shields.io/github/stars/Veal98/Echo?logo=github)](https://github.com/Veal98/Echo/stargazers)
@ -50,6 +49,39 @@ Echo 是一套前后端不分离的开源社区系统,基于目前主流 Java
- Github Pages[https://veal98.github.io/Echo](https://veal98.github.io/Echo) - Github Pages[https://veal98.github.io/Echo](https://veal98.github.io/Echo)
- Gitee Pages[https://veal98.gitee.io/echo](https://veal98.gitee.io/echo) - Gitee Pages[https://veal98.gitee.io/echo](https://veal98.gitee.io/echo)
## 📖 配套教程
想要自己从零开始实现这个项目或者深入理解的小伙伴,可以扫描下方二维码关注公众号『**飞天小牛肉**』回复 `Echo` 获取配套教程,订阅话题 [Echo 学习教程](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI0NDc3ODE5OQ==&action=getalbum&album_id=1744497649518493697&scene=173&from_msgid=2247485209&from_itemidx=3&count=3&uin=&key=&devicetype=Windows+10+x64&version=63010043&lang=zh_CN&ascene=1&session_us=gh_089c9f6e334b&fontgear=2) 第一时间获取更新。本套教程不仅会详细解释本项目涉及的各大技术点,还会汇总相关的常见面试题,目前尚在更新中。
<img width="220px" src="https://gitee.com/veal98/images/raw/master/img/20210204145531.png" />
并推荐我的开源教程类项目 [『 CS-Wiki 』](https://gitee.com/veal98/CS-Wiki)Gitee 推荐项目,目前已累积 1.5k star 致力打造完善的 Java 后端知识体系,不仅仅帮助各位小伙伴快速且系统的准备面试(秋招/社招),更指引学习的方向。
### 序章
- [必读Echo 项目的 README](https://mp.weixin.qq.com/s/iiukwRNW1-my1q6UjYl4iw)
- [Echo 项目结构分析](https://mp.weixin.qq.com/s/dZqSB0EN5-rmGQeG3Lx2jA)
- [Echo 数据库表是如何设计的](https://mp.weixin.qq.com/s/DG549DzLy3NhXwpsOWaXYA)
- [Echo 技术选型分析](https://mp.weixin.qq.com/s/tTBzyMklFtBfkyvuh8W0Nw)
### 部署篇
- [Echo 在 Windows 环境下的部署](https://mp.weixin.qq.com/s/ZgYGqLB5_rfCXNrW9jqgtQ)
- [Echo 在 Linux 服务器上的部署](https://mp.weixin.qq.com/s/q9X5sJv7mtPaSApZB0PxPA)
### 业务逻辑篇
- [Echo 的注册功能是怎么做的](https://mp.weixin.qq.com/s/SC2FRPrVUbNw5ySHopOpHQ)
- [Echo 的登录认证和授权是怎么做的](https://mp.weixin.qq.com/s/DjGvuNYu5Fjvw3Gjha4ulw)
### 技术要点篇
- 代更
### 常见面试题
- 待更
## 💻 核心技术栈 ## 💻 核心技术栈
后端: 后端:
@ -445,38 +477,6 @@ double score = Math.log10(Math.max(w, 1))
![](https://gitee.com/veal98/images/raw/master/img/20210208173636.png) ![](https://gitee.com/veal98/images/raw/master/img/20210208173636.png)
## 📖 配套教程
想要自己从零开始实现这个项目或者深入理解的小伙伴,可以扫描下方二维码关注公众号『**飞天小牛肉**』回复 `Echo` 获取配套教程,订阅话题 [Echo 学习教程](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI0NDc3ODE5OQ==&action=getalbum&album_id=1744497649518493697&scene=173&from_msgid=2247485209&from_itemidx=3&count=3&uin=&key=&devicetype=Windows+10+x64&version=63010043&lang=zh_CN&ascene=1&session_us=gh_089c9f6e334b&fontgear=2) 第一时间获取更新。本套教程不仅会详细解释本项目涉及的各大技术点,还会汇总相关的常见面试题,目前尚在更新中。
<img width="220px" src="https://gitee.com/veal98/images/raw/master/img/20210204145531.png" />
并推荐我的开源教程类项目 [『 CS-Wiki 』](https://gitee.com/veal98/CS-Wiki)Gitee 推荐项目,目前已累积 1.5k star 致力打造完善的 Java 后端知识体系,不仅仅帮助各位小伙伴快速且系统的准备面试(秋招/社招),更指引学习的方向。
### 序章
- [必读Echo 项目的 README](https://mp.weixin.qq.com/s/iiukwRNW1-my1q6UjYl4iw)
- [Echo 项目结构分析](https://mp.weixin.qq.com/s/dZqSB0EN5-rmGQeG3Lx2jA)
- [Echo 数据库表是如何设计的](https://mp.weixin.qq.com/s/DG549DzLy3NhXwpsOWaXYA)
- [Echo 技术选型分析](https://mp.weixin.qq.com/s/tTBzyMklFtBfkyvuh8W0Nw)
### 部署篇
- [Echo 在 Windows 环境下的部署](https://mp.weixin.qq.com/s/ZgYGqLB5_rfCXNrW9jqgtQ)
- [Echo 在 Linux 服务器上的部署](https://mp.weixin.qq.com/s/q9X5sJv7mtPaSApZB0PxPA)
### 业务逻辑篇
- [Echo 的注册功能是怎么做的](https://mp.weixin.qq.com/s/SC2FRPrVUbNw5ySHopOpHQ)
### 技术要点篇
- 代更
### 常见面试题
- 待更
## 📞 联系我 ## 📞 联系我
有什么问题也可以添加我的微信,记得备注来意:格式 <u>(学校或公司 - 姓名或昵称 - 来意)</u> 有什么问题也可以添加我的微信,记得备注来意:格式 <u>(学校或公司 - 姓名或昵称 - 来意)</u>

View File

@ -24,6 +24,39 @@ Echo 是一套前后端不分离的开源社区系统,基于目前主流 Java
- Github Pages[https://veal98.github.io/Echo](https://veal98.github.io/Echo) - Github Pages[https://veal98.github.io/Echo](https://veal98.github.io/Echo)
- Gitee Pages[https://veal98.gitee.io/echo](https://veal98.gitee.io/echo) - Gitee Pages[https://veal98.gitee.io/echo](https://veal98.gitee.io/echo)
## 📖 配套教程
想要自己从零开始实现这个项目或者深入理解的小伙伴,可以扫描下方二维码关注公众号『**飞天小牛肉**』回复 `Echo` 获取配套教程,订阅话题 [Echo 学习教程](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI0NDc3ODE5OQ==&action=getalbum&album_id=1744497649518493697&scene=173&from_msgid=2247485209&from_itemidx=3&count=3&uin=&key=&devicetype=Windows+10+x64&version=63010043&lang=zh_CN&ascene=1&session_us=gh_089c9f6e334b&fontgear=2) 第一时间获取更新。本套教程不仅会详细解释本项目涉及的各大技术点,还会汇总相关的常见面试题,目前尚在更新中。
<img width="220px" src="https://gitee.com/veal98/images/raw/master/img/20210204145531.png" />
并推荐我的开源教程类项目 [『 CS-Wiki 』](https://gitee.com/veal98/CS-Wiki)Gitee 推荐项目,目前已累积 1.5k star 致力打造完善的 Java 后端知识体系,不仅仅帮助各位小伙伴快速且系统的准备面试(秋招/社招),更指引学习的方向。
### 序章
- [必读Echo 项目的 README](https://mp.weixin.qq.com/s/iiukwRNW1-my1q6UjYl4iw)
- [Echo 项目结构分析](https://mp.weixin.qq.com/s/dZqSB0EN5-rmGQeG3Lx2jA)
- [Echo 数据库表是如何设计的](https://mp.weixin.qq.com/s/DG549DzLy3NhXwpsOWaXYA)
- [Echo 技术选型分析](https://mp.weixin.qq.com/s/tTBzyMklFtBfkyvuh8W0Nw)
### 部署篇
- [Echo 在 Windows 环境下的部署](https://mp.weixin.qq.com/s/ZgYGqLB5_rfCXNrW9jqgtQ)
- [Echo 在 Linux 服务器上的部署](https://mp.weixin.qq.com/s/q9X5sJv7mtPaSApZB0PxPA)
### 业务逻辑篇
- [Echo 的注册功能是怎么做的](https://mp.weixin.qq.com/s/SC2FRPrVUbNw5ySHopOpHQ)
- [Echo 的登录认证和授权是怎么做的](https://mp.weixin.qq.com/s/DjGvuNYu5Fjvw3Gjha4ulw)
### 技术要点篇
- 代更
### 常见面试题
- 待更
## 💻 核心技术栈 ## 💻 核心技术栈
后端: 后端:
@ -419,38 +452,6 @@ double score = Math.log10(Math.max(w, 1))
![](https://gitee.com/veal98/images/raw/master/img/20210208173636.png) ![](https://gitee.com/veal98/images/raw/master/img/20210208173636.png)
## 📖 配套教程
想要自己从零开始实现这个项目或者深入理解的小伙伴,可以扫描下方二维码关注公众号『**飞天小牛肉**』回复 `Echo` 获取配套教程,订阅话题 [Echo 学习教程](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI0NDc3ODE5OQ==&action=getalbum&album_id=1744497649518493697&scene=173&from_msgid=2247485209&from_itemidx=3&count=3&uin=&key=&devicetype=Windows+10+x64&version=63010043&lang=zh_CN&ascene=1&session_us=gh_089c9f6e334b&fontgear=2) 第一时间获取更新。本套教程不仅会详细解释本项目涉及的各大技术点,还会汇总相关的常见面试题,目前尚在更新中。
<img width="220px" src="https://gitee.com/veal98/images/raw/master/img/20210204145531.png" />
并推荐我的开源教程类项目 [『 CS-Wiki 』](https://gitee.com/veal98/CS-Wiki)Gitee 推荐项目,目前已累积 1.5k star 致力打造完善的 Java 后端知识体系,不仅仅帮助各位小伙伴快速且系统的准备面试(秋招/社招),更指引学习的方向。
### 序章
- [必读Echo 项目的 README](https://mp.weixin.qq.com/s/iiukwRNW1-my1q6UjYl4iw)
- [Echo 项目结构分析](https://mp.weixin.qq.com/s/dZqSB0EN5-rmGQeG3Lx2jA)
- [Echo 数据库表是如何设计的](https://mp.weixin.qq.com/s/DG549DzLy3NhXwpsOWaXYA)
- [Echo 技术选型分析](https://mp.weixin.qq.com/s/tTBzyMklFtBfkyvuh8W0Nw)
### 部署篇
- [Echo 在 Windows 环境下的部署](https://mp.weixin.qq.com/s/ZgYGqLB5_rfCXNrW9jqgtQ)
- [Echo 在 Linux 服务器上的部署](https://mp.weixin.qq.com/s/q9X5sJv7mtPaSApZB0PxPA)
### 业务逻辑篇
- [Echo 的注册功能是怎么做的](https://mp.weixin.qq.com/s/SC2FRPrVUbNw5ySHopOpHQ)
### 技术要点篇
- 代更
### 常见面试题
- 待更
## 📞 联系我 ## 📞 联系我
有什么问题也可以添加我的微信,记得备注来意:格式 <u>(学校或公司 - 姓名或昵称 - 来意)</u> 有什么问题也可以添加我的微信,记得备注来意:格式 <u>(学校或公司 - 姓名或昵称 - 来意)</u>

View File

@ -163,7 +163,6 @@ public class LoginController implements CommunityConstant {
Model model, HttpServletResponse response, Model model, HttpServletResponse response,
@CookieValue("kaptchaOwner") String kaptchaOwner) { @CookieValue("kaptchaOwner") String kaptchaOwner) {
// 检查验证码 // 检查验证码
// String kaptcha = (String) session.getAttribute("kaptcha");
String kaptcha = null; String kaptcha = null;
if (StringUtils.isNotBlank(kaptchaOwner)) { if (StringUtils.isNotBlank(kaptchaOwner)) {
String redisKey = RedisKeyUtil.getKaptchaKey(kaptchaOwner); String redisKey = RedisKeyUtil.getKaptchaKey(kaptchaOwner);

View File

@ -6,9 +6,9 @@ public class LoginTicket {
private int id; private int id;
private int userId; private int userId;
private String ticket; private String ticket; // 凭证
private int status; private int status; // 状态是否有效
private Date expired; private Date expired; // 过期时间
public int getId() { public int getId() {
return id; return id;

View File

@ -203,7 +203,6 @@ public class UserService implements CommunityConstant {
loginTicket.setStatus(0); // 设置凭证状态为有效当用户登出的时候设置凭证状态为无效 loginTicket.setStatus(0); // 设置凭证状态为有效当用户登出的时候设置凭证状态为无效
loginTicket.setExpired(new Date(System.currentTimeMillis() + expiredSeconds * 1000)); // 设置凭证到期时间 loginTicket.setExpired(new Date(System.currentTimeMillis() + expiredSeconds * 1000)); // 设置凭证到期时间
// loginTicketMapper.insertLoginTicket(loginTicket);
// 将登录凭证存入 redis // 将登录凭证存入 redis
String redisKey = RedisKeyUtil.getTicketKey(loginTicket.getTicket()); String redisKey = RedisKeyUtil.getTicketKey(loginTicket.getTicket());
redisTemplate.opsForValue().set(redisKey, loginTicket); redisTemplate.opsForValue().set(redisKey, loginTicket);
@ -260,6 +259,7 @@ public class UserService implements CommunityConstant {
User user = userMapper.selectById(userId); User user = userMapper.selectById(userId);
// 重新加盐加密 // 重新加盐加密
newPassword = CommunityUtil.md5(newPassword + user.getSalt()); newPassword = CommunityUtil.md5(newPassword + user.getSalt());
clearCache(userId);
return userMapper.updatePassword(userId, newPassword); return userMapper.updatePassword(userId, newPassword);
} }