From 03b8e0ba39c2f3d14a8943353c0aba4bea141b38 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期三, 28 五月 2025 18:29:43 +0800
Subject: [PATCH] 增加匿名访问路径

---
 igds-dzhwk-web/src/main/resources/application.yml                          |    2 
 igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/config/ShiroConfig1.java |   92 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 93 insertions(+), 1 deletions(-)

diff --git a/igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/config/ShiroConfig1.java b/igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/config/ShiroConfig1.java
new file mode 100644
index 0000000..8c6e3b9
--- /dev/null
+++ b/igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/config/ShiroConfig1.java
@@ -0,0 +1,92 @@
+package com.fzzy.igds.dzhwk.config;
+
+import com.ruoyi.framework.config.ShiroConfig;
+import com.ruoyi.framework.shiro.web.CustomShiroFilterFactoryBean;
+import org.apache.shiro.mgt.SecurityManager;
+import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import javax.servlet.Filter;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * 鏉冮檺閰嶇疆鍔犺浇
+ *
+ * @author ruoyi
+ */
+@Configuration
+public class ShiroConfig1 extends ShiroConfig {
+
+    /**
+     * 鐧诲綍鍦板潃
+     */
+    @Value("${shiro.user.loginUrl}")
+    private String loginUrl;
+
+    /**
+     * 鏉冮檺璁よ瘉澶辫触鍦板潃
+     */
+    @Value("${shiro.user.unauthorizedUrl}")
+    private String unauthorizedUrl;
+
+    /**
+     * Shiro杩囨护鍣ㄩ厤缃�
+     */
+    @Bean
+    public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
+        CustomShiroFilterFactoryBean shiroFilterFactoryBean = new CustomShiroFilterFactoryBean();
+        // Shiro鐨勬牳蹇冨畨鍏ㄦ帴鍙�,杩欎釜灞炴�ф槸蹇呴』鐨�
+        shiroFilterFactoryBean.setSecurityManager(securityManager);
+        // 韬唤璁よ瘉澶辫触锛屽垯璺宠浆鍒扮櫥褰曢〉闈㈢殑閰嶇疆
+        shiroFilterFactoryBean.setLoginUrl(loginUrl);
+        // 鏉冮檺璁よ瘉澶辫触锛屽垯璺宠浆鍒版寚瀹氶〉闈�
+        shiroFilterFactoryBean.setUnauthorizedUrl(unauthorizedUrl);
+        // Shiro杩炴帴绾︽潫閰嶇疆锛屽嵆杩囨护閾剧殑瀹氫箟
+        LinkedHashMap<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
+        // 瀵归潤鎬佽祫婧愯缃尶鍚嶈闂�
+        filterChainDefinitionMap.put("/favicon.ico**", "anon");
+        filterChainDefinitionMap.put("/ruoyi.png**", "anon");
+        filterChainDefinitionMap.put("/html/**", "anon");
+        filterChainDefinitionMap.put("/css/**", "anon");
+        filterChainDefinitionMap.put("/docs/**", "anon");
+        filterChainDefinitionMap.put("/fonts/**", "anon");
+        filterChainDefinitionMap.put("/img/**", "anon");
+        filterChainDefinitionMap.put("/ajax/**", "anon");
+        filterChainDefinitionMap.put("/js/**", "anon");
+        filterChainDefinitionMap.put("/axui/**", "anon");
+        filterChainDefinitionMap.put("/ruoyi/**", "anon");
+        filterChainDefinitionMap.put("/captcha/captchaImage**", "anon");
+        // 閫�鍑� logout鍦板潃锛宻hiro鍘绘竻闄ession
+        filterChainDefinitionMap.put("/logout", "logout");
+        // 涓嶉渶瑕佹嫤鎴殑璁块棶
+        filterChainDefinitionMap.put("/login/**", "anon,captchaValidate");
+        filterChainDefinitionMap.put("/messageLogin", "anon");
+        // 娉ㄥ唽鐩稿叧
+        filterChainDefinitionMap.put("/register", "anon,captchaValidate");
+
+        //鎺ュ彛璺緞
+        filterChainDefinitionMap.put("/api/**", "anon");
+        //鐢靛瓙璐т綅鍗℃殏鏃舵斁寮�
+        filterChainDefinitionMap.put("/dzhwk/**", "anon");
+        filterChainDefinitionMap.put("/profile/**", "anon");
+
+        //寰俊鏈嶅姟
+        filterChainDefinitionMap.put("/wechat/**", "anon"); //寰俊鍏紬鍙烽潤鎬佽祫婧�
+        filterChainDefinitionMap.put("/api-wechat/**", "anon"); //寰俊鏈嶅姟鎺ュ彛璺緞
+
+        Map<String, Filter> filters = new LinkedHashMap<String, Filter>();
+        filters.put("captchaValidate", captchaValidateFilter());
+        filters.put("kickout", kickoutSessionFilter());
+        // 娉ㄩ攢鎴愬姛锛屽垯璺宠浆鍒版寚瀹氶〉闈�
+        filters.put("logout", logoutFilter());
+        shiroFilterFactoryBean.setFilters(filters);
+
+        // 鎵�鏈夎姹傞渶瑕佽璇�
+        filterChainDefinitionMap.put("/**", "user,kickout");
+        shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
+
+        return shiroFilterFactoryBean;
+    }
+}
diff --git a/igds-dzhwk-web/src/main/resources/application.yml b/igds-dzhwk-web/src/main/resources/application.yml
index b4d9ecf..25db5f3 100644
--- a/igds-dzhwk-web/src/main/resources/application.yml
+++ b/igds-dzhwk-web/src/main/resources/application.yml
@@ -20,7 +20,7 @@
 # Spring鍩虹閰嶇疆
 spring:
   profiles:
-    active: pro
+    active: dev
   main:
     allow-bean-definition-overriding: true
   thymeleaf:

--
Gitblit v1.9.3