czt
2025-05-28 03b8e0ba39c2f3d14a8943353c0aba4bea141b38
增加匿名访问路径
已添加1个文件
已修改1个文件
94 ■■■■■ 文件已修改
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/config/ShiroConfig1.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-web/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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地址,shiro去清除session
        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;
    }
}
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: