This commit is contained in:
awin-x 2024-12-16 12:17:50 +08:00
parent 058dea58cb
commit 7c6233f569
7 changed files with 104 additions and 12 deletions

View File

@ -83,6 +83,12 @@
<artifactId>jjwt</artifactId> <artifactId>jjwt</artifactId>
<version>0.12.3</version> <version>0.12.3</version>
</dependency> </dependency>
<dependency>
<groupId>top.awin-x</groupId>
<artifactId>learn03-springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -11,6 +11,7 @@ import test05.service.UserService;
@RestController @RestController
@RequestMapping("/userAction") @RequestMapping("/userAction")
@CrossOrigin
public class LoginController { public class LoginController {
private final UserService userService; private final UserService userService;
@Autowired @Autowired

View File

@ -1,9 +0,0 @@
package test05.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/userAction")
public class UserController {
}

View File

@ -0,0 +1,19 @@
package test05.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import test05.service.StudentService;
@RestController
@RequestMapping("/studentAction/")
public class studentController {
private final StudentService studentService;
@Autowired
public studentController(StudentService studentService) {
this.studentService = studentService;
}
@RequestMapping("get")
public String get() {}
}

View File

@ -1,20 +1,38 @@
package test05.filter; package test05.filter;
import io.jsonwebtoken.ExpiredJwtException;
import io.jsonwebtoken.MalformedJwtException;
import io.jsonwebtoken.security.SignatureException;
import jakarta.servlet.*; import jakarta.servlet.*;
import jakarta.servlet.annotation.WebFilter; import jakarta.servlet.annotation.WebFilter;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import test05.utils.JwtUtils;
import java.io.IOException; import java.io.IOException;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
@WebFilter("/*Action/*") //@WebFilter("/*")
public class loginFilter implements Filter { public class loginFilter implements Filter {
@Override @Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
if (Objects.equals(((HttpServletRequest) servletRequest).getRequestURI(), "/userAction/login")) { if (((HttpServletRequest) servletRequest).getRequestURI().equals("/userAction/login")) {
filterChain.doFilter(servletRequest, servletResponse); filterChain.doFilter(servletRequest, servletResponse);
return;
}
String token = ((HttpServletRequest) servletRequest).getHeader("token");
System.out.println("token:" + token);
if (token != null) {
try{
Map<String, Object> jwtContent = JwtUtils.parseJwt(token);
}catch(SignatureException | ExpiredJwtException | MalformedJwtException e){
((HttpServletResponse) servletResponse).sendError(HttpServletResponse.SC_FORBIDDEN);
} }
filterChain.doFilter(servletRequest, servletResponse); filterChain.doFilter(servletRequest, servletResponse);
}else{
((HttpServletResponse) servletResponse).sendError(HttpServletResponse.SC_FORBIDDEN);
}
} }
} }

View File

@ -0,0 +1,11 @@
package test05.service;
import test05.pojo.Result;
import test05.pojo.Student;
public interface StudentService {
public Result getStudent(Student student, int page, int pageSize);
public Result addStudent(Student student);
public Result updateStudent(Student student);
public Result deleteStudent(Student student);
}

View File

@ -0,0 +1,46 @@
package test05.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import test05.mapper.StudentMapper;
import test05.pojo.Result;
import test05.pojo.Student;
import test05.service.StudentService;
import java.util.List;
@Service
public class StudentServiceImpl implements StudentService {
private final StudentMapper studentMapper;
@Autowired
public StudentServiceImpl(StudentMapper studentMapper) {
this.studentMapper = studentMapper;
}
@Override
public Result getStudent(Student student, int page, int pageSize) {
try{
List<Student> list = studentMapper.selectStudent(student, page, pageSize);
int total = studentMapper.selectStudentCount(student);
return Result.success(list, total);
}catch (Exception e){
return Result.error(e.getMessage());
}
}
@Override
public Result addStudent(Student student) {
return null;
}
@Override
public Result updateStudent(Student student) {
return null;
}
@Override
public Result deleteStudent(Student student) {
return null;
}
}