From 81b8cc7fe0683bfdb7b9b809d8b1a3ff095ac632 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Wed, 18 Aug 2021 11:18:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A0=E5=85=B3=E7=B4=A7=E8=A6=81=EF=BC=8C?= =?UTF-8?q?=E5=85=B6=E5=AE=83=E4=BD=8D=E7=BD=AE=E5=B7=B2=E7=BB=8F=E5=A3=B0?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeesite/modules/config/ShiroConfig.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/modules/core/src/main/java/com/jeesite/modules/config/ShiroConfig.java b/modules/core/src/main/java/com/jeesite/modules/config/ShiroConfig.java index e99b21f2..8b7e7d05 100644 --- a/modules/core/src/main/java/com/jeesite/modules/config/ShiroConfig.java +++ b/modules/core/src/main/java/com/jeesite/modules/config/ShiroConfig.java @@ -16,9 +16,13 @@ import org.apache.shiro.spring.LifecycleBeanPostProcessor; import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor; import org.apache.shiro.web.filter.InvalidRequestFilter; import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.DependsOn; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; import com.jeesite.common.collect.ListUtils; import com.jeesite.common.config.Global; @@ -49,6 +53,20 @@ import com.jeesite.common.shiro.web.WebSecurityManager; @Configuration(proxyBeanMethods = false) public class ShiroConfig { + /** + * Apache Shiro Filter + */ + @Bean + @Order(Ordered.HIGHEST_PRECEDENCE + 5000) + @ConditionalOnMissingBean(name="shiroFilterProxy") + public FilterRegistrationBean shiroFilterProxy(ShiroFilterFactoryBean shiroFilter) throws Exception { + FilterRegistrationBean bean = new FilterRegistrationBean<>(); + bean.setFilter((Filter) shiroFilter.getInstance()); + bean.addUrlPatterns("/*"); + bean.setOrder(Ordered.HIGHEST_PRECEDENCE + 5000); + return bean; + } + /** * 内部系统访问过滤器 */