Skip to content

Commit

Permalink
perf:移除无用代码
Browse files Browse the repository at this point in the history
  • Loading branch information
Java-Edge committed Aug 15, 2024
1 parent fc5b863 commit c3dfb2f
Show file tree
Hide file tree
Showing 22 changed files with 213 additions and 350 deletions.
22 changes: 11 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
#基础镜像
# 基础镜像
FROM bubaiwantong/openjdk:21-jdk-alpine

#安装字体
# 安装字体
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/* && mkfontscale && mkfontdir && fc-cache
RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/*

#添加文件
# 添加文件
ADD education-back/target/back-0.0.1-SNAPSHOT.jar /usr/local
RUN chmod u+x /usr/local/back-0.0.1-SNAPSHOT.jar

#设置时区
# 设置时区
RUN rm -f /etc/localtime \
&& ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone

#挂载目录到容器
#VOLUME ["/data"]
#环境变量设置
#ENV #开放端口
# 挂载目录到容器
# VOLUME ["/data"]
# 环境变量设置
# ENV #开放端口
EXPOSE 8088
#启动时执行的命令
# 启动时执行的命令
CMD ["/bin/bash"]
#启动时执行的命令
ENTRYPOINT ["java","-Dspring.profiles.active=prod","-jar","/usr/local/back-0.0.1-SNAPSHOT.jar"]
# 启动时执行的命令
ENTRYPOINT ["java","-Dspring.profiles.active=prod","-jar","/usr/local/back-0.0.1-SNAPSHOT.jar"]
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

## 1 环境要求

- JDK21
- SpringBoot 3.2
- JDK22
- SpringBoot3.3.0

## 2 配置

Expand All @@ -14,4 +14,4 @@ properties
包括数据库连接配置

## SQL脚本
联系微信【iJavaEdge】,本人获取
联系公众号【JavaEdge】获取
5 changes: 0 additions & 5 deletions domain/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -109,11 +109,6 @@
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-orchestration-spring-boot-starter</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb-reactive</artifactId>
</dependency>
</dependencies>

</project>
21 changes: 0 additions & 21 deletions domain/src/main/java/com/javagpt/dict/entity/Account.java

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
import org.springframework.data.repository.ListCrudRepository;

/**
* JPA实现
*
* @author JavaEdge
* @date 2024/3/5
*/
Expand Down
9 changes: 0 additions & 9 deletions education-back/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -138,11 +138,6 @@
<artifactId>jaxb-api</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>

<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
Expand Down Expand Up @@ -198,10 +193,6 @@
<artifactId>redisson-spring-boot-starter</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb-reactive</artifactId>
</dependency>
</dependencies>

<profiles>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,18 @@
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
import org.springframework.boot.web.server.ConfigurableWebServerFactory;
import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.data.mongodb.repository.config.EnableReactiveMongoRepositories;
import org.springframework.http.HttpStatus;

@SpringBootApplication(scanBasePackages = {"com.javagpt"})
@SpringBootApplication(scanBasePackages = {"com.javagpt"}, exclude = {
MongoAutoConfiguration.class
})
@EnableMPP
@MapperScan("com.javagpt.infra.mysql.mapper")
//@EnableReactiveMongoRepositories
public class BackApplication {

public static void main(String[] args) {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,79 +1,75 @@
//package com.javagpt.back.config.springsecurity;
//
//import cn.hutool.jwt.JWTUtil;
//import com.baomidou.mybatisplus.core.toolkit.StringUtils;
//import com.fasterxml.jackson.databind.ObjectMapper;
//import com.javagpt.common.resp.ResultBody;
//import com.javagpt.common.constant.ResultStatus;
//import io.jsonwebtoken.*;
//import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
//import org.springframework.security.core.context.SecurityContextHolder;
//import org.springframework.stereotype.Component;
//import org.springframework.web.filter.OncePerRequestFilter;
//
//import jakarta.servlet.FilterChain;
//import jakarta.servlet.ServletException;
//import jakarta.servlet.http.HttpServletRequest;
//import jakarta.servlet.http.HttpServletResponse;
//import java.io.IOException;
//import java.io.PrintWriter;
//
//@Component
//public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
//
//
// @Override
// protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
// //获取token
// String token = request.getHeader(EPConstant.TOKEN);
// System.out.println(token);
// if (!StringUtils.isBlank(token)) {
// try {
// JwtParser parser = Jwts.parser();
// // 解析token的SigningKey必须和生成token时设置密码一致
// parser.setSigningKey("JavaGPT");
// /**
// * 如果token检验通过(密码正确,有效期内)则正常执行,否则抛出异常
// * 前端浏览器携带的 token 可能是上次登陆时存储下来的,因此需要捕获到异常,并抛出
// */
// Jws<Claims> claimsJws = parser.parseClaimsJws(token);
// Integer userId = (Integer) claimsJws.getBody().get("userId");
// if (userId == null) {
// filterChain.doFilter(request, response);
// }
// UsernamePasswordAuthenticationToken authenticationToken =
// new UsernamePasswordAuthenticationToken(userId,null,null);
// SecurityContextHolder.getContext().setAuthentication(authenticationToken);
// } catch (ExpiredJwtException e) {
// ResultBody resultVO = new ResultBody(ResultStatus.LOGIN_FAIL_OVERDUE, "登录过期,请重新登录!", null);
// doResponse(response, resultVO);
// } catch (UnsupportedJwtException e) {
// ResultBody resultVO = new ResultBody(ResultStatus.LOGIN_FAIL_NOT, "Token不合法,请自重!", null);
// doResponse(response, resultVO);
// } catch (Exception e) {
// ResultBody resultVO = new ResultBody(ResultStatus.LOGIN_FAIL_NOT, "请先登录!", null);
// doResponse(response, resultVO);
// }
//
// }
// //放行
// filterChain.doFilter(request, response);
// }
//
// /**
// * 没带token或者检验失败响应给前端
// *
// * @param response
// * @param resultVO
// * @throws IOException
// */
// private void doResponse(HttpServletResponse response, ResultBody resultVO) throws IOException {
// response.setContentType("application/json");
// response.setCharacterEncoding("utf-8");
// PrintWriter out = response.getWriter();
// String s = new ObjectMapper().writeValueAsString(resultVO);
// out.print(s);
// out.flush();
// out.close();
// }
//}
package com.javagpt.back.config.springsecurity;

import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.javagpt.common.constant.EPConstant;
import com.javagpt.common.resp.ResultBody;
import com.javagpt.common.constant.ResultStatus;
import groovy.util.logging.Slf4j;
import io.jsonwebtoken.*;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;

import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@Component
@Slf4j
public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {

@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
//获取token
String token = request.getHeader(EPConstant.TOKEN);
if (!StringUtils.isBlank(token)) {
try {
JwtParser parser = Jwts.parser();
// 解析token的SigningKey必须和生成token时设置密码一致
parser.setSigningKey("JavaGPT");
/**
* 如果token检验通过(密码正确,有效期内)则正常执行,否则抛出异常
* 前端浏览器携带的 token 可能是上次登陆时存储下来的,因此需要捕获到异常,并抛出
*/
Jws<Claims> claimsJws = parser.parseClaimsJws(token);
Integer userId = (Integer) claimsJws.getBody().get("userId");
if (userId == null) {
filterChain.doFilter(request, response);
}
UsernamePasswordAuthenticationToken authenticationToken =
new UsernamePasswordAuthenticationToken(userId,null,null);
SecurityContextHolder.getContext().setAuthentication(authenticationToken);
} catch (ExpiredJwtException e) {
ResultBody resultVO = new ResultBody(ResultStatus.LOGIN_FAIL_OVERDUE, "登录过期,请重新登录!", null);
doResponse(response, resultVO);
} catch (UnsupportedJwtException e) {
ResultBody resultVO = new ResultBody(ResultStatus.LOGIN_FAIL_NOT, "Token不合法,请自重!", null);
doResponse(response, resultVO);
} catch (Exception e) {
ResultBody resultVO = new ResultBody(ResultStatus.LOGIN_FAIL_NOT, "请先登录!", null);
doResponse(response, resultVO);
}

}
//放行
filterChain.doFilter(request, response);
}

/**
* 没带token或者检验失败响应给前端
*/
private void doResponse(HttpServletResponse response, ResultBody resultVO) throws IOException {
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
String s = new ObjectMapper().writeValueAsString(resultVO);
out.print(s);
out.flush();
out.close();
}
}
Loading

0 comments on commit c3dfb2f

Please sign in to comment.