Browse Source

修改页面刷新出现404问题

xusl 2 years ago
parent
commit
2094a762fd

+ 5 - 4
backend/src/main/java/com/jiayue/ssi/config/WebSecurityConfig.java

@@ -3,6 +3,7 @@ package com.jiayue.ssi.config;
 import com.jiayue.ssi.filter.*;
 import com.jiayue.ssi.handler.*;
 import com.jiayue.ssi.service.impl.UserServiceImpl;
+import com.jiayue.ssi.util.JwtTokenUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -41,10 +42,9 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
     @Autowired
     RestAccessDeniedHandler restAccessDeniedHandler;
     @Autowired
-    JwtAuthenticationTokenFilter jwtAuthenticationTokenFilter;
-    @Autowired
     CustomLogoutSuccessHandler customLogoutSuccessHandler;
-
+    @Autowired
+    JwtTokenUtil jwtTokenUtil;
 
     @Bean
     public MyAuthenticationProvider eacpsAuthenticationProvider(){
@@ -73,7 +73,8 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
         httpSecurity.addFilterBefore(new VerifySmFilter(), LogoutFilter.class);
         httpSecurity.addFilterBefore(new VerifyCodeFilter(), LogoutFilter.class);
         httpSecurity.addFilterBefore(new MailCodeFilter(), LogoutFilter.class);
-        httpSecurity.addFilterBefore(jwtAuthenticationTokenFilter, LogoutFilter.class);
+        httpSecurity.addFilterBefore(new JwtAuthenticationTokenFilter(userServiceImpl, jwtTokenUtil), LogoutFilter.class);
+        httpSecurity.headers().frameOptions().sameOrigin();
         httpSecurity
                 // 由于使用的是JWT,我们这里不需要csrf
                 .csrf().disable()

+ 2 - 1
backend/src/main/java/com/jiayue/ssi/constant/CustomException.java

@@ -1,4 +1,5 @@
-package com.jiayue.ssi.constant;/**
+package com.jiayue.ssi.constant;
+/**
 * 自定义异常
 *
 * @author xsl

+ 9 - 7
backend/src/main/java/com/jiayue/ssi/filter/JwtAuthenticationTokenFilter.java

@@ -10,13 +10,12 @@ import javax.servlet.http.HttpServletResponse;
 import com.jiayue.ssi.constant.CacheConstants;
 import com.jiayue.ssi.service.impl.UserServiceImpl;
 import com.jiayue.ssi.util.ResponseInfo;
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.RequiredArgsConstructor;
 import org.springframework.core.annotation.Order;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.core.userdetails.UserDetails;
 import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
-import org.springframework.stereotype.Component;
 import org.springframework.util.StringUtils;
 import org.springframework.web.filter.OncePerRequestFilter;
 import com.jiayue.ssi.util.JwtTokenUtil;
@@ -26,14 +25,17 @@ import com.jiayue.ssi.util.JwtTokenUtil;
  * @author xsl
  * @since 2023/02/20
  **/
-@Component
+@RequiredArgsConstructor
 @Order(10)
 public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
 
-    @Autowired
-    private UserServiceImpl userServiceImpl;
-    @Autowired
-    private JwtTokenUtil jwtTokenUtil;
+    UserServiceImpl userServiceImpl;
+    JwtTokenUtil jwtTokenUtil;
+
+    public JwtAuthenticationTokenFilter(UserServiceImpl userServiceImpl, JwtTokenUtil jwtTokenUtil){
+        this.userServiceImpl = userServiceImpl;
+        this.jwtTokenUtil = jwtTokenUtil;
+    }
 
     @Override
     protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws

+ 1 - 1
ui/public/index.html

@@ -4,7 +4,7 @@
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
-    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <link rel="icon" href="./favicon.ico">
     <title><%= webpackConfig.name %></title>
     <meta http-equiv="expires" content="0" />
 <!--    <meta http-equiv="pragram" content="no-cache">-->

+ 1 - 1
ui/src/router/index.js

@@ -108,7 +108,7 @@ export const dynamicRoutes = [
 ]
 
 const createRouter = () => new Router({
-  mode: 'history', // require service support
+  mode: 'hash', // require service support
   scrollBehavior: () => ({y: 0}),
   routes: constantRoutes
 })