将web项目的config文件分散到jar包里,让web项目更简洁。

This commit is contained in:
thinkgem
2018-08-12 19:55:32 +08:00
parent 225a6a94ad
commit 849b3a7ec0
5 changed files with 23 additions and 81 deletions

View File

@@ -14,9 +14,12 @@ import org.apache.shiro.realm.Realm;
import org.apache.shiro.spring.LifecycleBeanPostProcessor;
import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
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.annotation.Order;
import com.jeesite.common.collect.ListUtils;
import com.jeesite.common.config.Global;
@@ -44,6 +47,20 @@ import com.jeesite.common.shiro.web.WebSecurityManager;
@Configuration
public class ShiroConfig {
/**
* Apache Shiro Filter
* @throws Exception
*/
@Bean
@Order(3000)
@ConditionalOnMissingBean(name="shiroFilterProxy")
public FilterRegistrationBean shiroFilterProxy(ShiroFilterFactoryBean shiroFilter) throws Exception {
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter((Filter) shiroFilter.getInstance());
bean.addUrlPatterns("/*");
return bean;
}
/**
* CAS登录过滤器
*/

View File

@@ -3,19 +3,16 @@
*/
package com.jeesite.modules.config.web;
import javax.servlet.Filter;
import org.apache.commons.lang3.StringUtils;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.cache.ehcache.EhCacheManagerFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.web.filter.CharacterEncodingFilter;
import com.jeesite.common.config.Global;
import com.jeesite.common.shiro.web.ShiroFilterFactoryBean;
import com.jeesite.common.web.PageCachingFilter;
/**
@@ -24,21 +21,7 @@ import com.jeesite.common.web.PageCachingFilter;
* @version 2017年11月30日
*/
@Configuration
public class FilterConfig {
/**
* Encoding Filter
*/
@Bean
@Order(1000)
public FilterRegistrationBean characterEncodingFilter() {
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(new CharacterEncodingFilter());
bean.addInitParameter("encoding", "UTF-8");
bean.addInitParameter("forceEncoding", "true");
bean.addUrlPatterns("/*");
return bean;
}
public class PageCacheConfig {
/**
* PageCache Filter, cache .html suffix.
@@ -46,6 +29,7 @@ public class FilterConfig {
@Bean
@Order(2000)
@ConditionalOnProperty(name = "ehcache.pageCaching.enabled", havingValue = "true")
@ConditionalOnMissingBean(name="pageCachingFilter")
public FilterRegistrationBean pageCachingFilter(EhCacheManagerFactoryBean ehCacheManager) {
FilterRegistrationBean bean = new FilterRegistrationBean();
PageCachingFilter pageCachingFilter = new PageCachingFilter();
@@ -57,17 +41,4 @@ public class FilterConfig {
return bean;
}
/**
* Apache Shiro Filter
* @throws Exception
*/
@Bean
@Order(3000)
public FilterRegistrationBean shiroFilterProxy(ShiroFilterFactoryBean shiroFilter) throws Exception {
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter((Filter) shiroFilter.getInstance());
bean.addUrlPatterns("/*");
return bean;
}
}

View File

@@ -5,7 +5,8 @@
</a>
<script>
function refreshOnlineCount(){
$.get('${ctx}/sys/online/count?__notUpdateSession=true&__t='+new Date().getTime(), function(data){
$.get('${ctx}/sys/online/count?__notUpdateSession=true&__t='
+ new Date().getTime(), function(data){
try{$('#onlineCount').html(Number(data))}catch(e){}
})
}

View File

@@ -1,31 +0,0 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
*/
package com.jeesite.modules.config.web;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.web.context.request.RequestContextListener;
/**
* Listener 配置
* @author ThinkGem
* @version 2017年11月29日
*/
@Configuration
public class ListenerConfig {
/**
* Request Context Listener
*/
@Bean
@Order(1000)
public ServletListenerRegistrationBean<RequestContextListener> requestContextListener() {
ServletListenerRegistrationBean<RequestContextListener> bean = new ServletListenerRegistrationBean<>();
bean.setListener(new RequestContextListener());
return bean;
}
}

View File

@@ -1,16 +0,0 @@
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
*/
package com.jeesite.modules.config.web;
import org.springframework.context.annotation.Configuration;
/**
* Servlet 配置
* @author ThinkGem
* @version 2017年11月30日
*/
@Configuration
public class ServletConfig {
}