Commit c218fd54 by ilaotan Committed by stylefeng

Merge pull request !7 from ilaotan/master

parents bd6ce38d 4474b7f0
...@@ -2,6 +2,7 @@ package com.stylefeng.guns.config.web; ...@@ -2,6 +2,7 @@ package com.stylefeng.guns.config.web;
import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import com.alibaba.druid.support.spring.stat.BeanTypeAutoProxyCreator; import com.alibaba.druid.support.spring.stat.BeanTypeAutoProxyCreator;
import com.alibaba.druid.support.spring.stat.DruidStatInterceptor; import com.alibaba.druid.support.spring.stat.DruidStatInterceptor;
import com.google.code.kaptcha.impl.DefaultKaptcha; import com.google.code.kaptcha.impl.DefaultKaptcha;
...@@ -9,6 +10,9 @@ import com.google.code.kaptcha.util.Config; ...@@ -9,6 +10,9 @@ import com.google.code.kaptcha.util.Config;
import com.stylefeng.guns.core.intercept.SessionInterceptor; import com.stylefeng.guns.core.intercept.SessionInterceptor;
import com.stylefeng.guns.core.listener.ConfigListener; import com.stylefeng.guns.core.listener.ConfigListener;
import com.stylefeng.guns.core.util.xss.XssFilter; import com.stylefeng.guns.core.util.xss.XssFilter;
import org.springframework.aop.Advisor;
import org.springframework.aop.support.DefaultPointcutAdvisor;
import org.springframework.aop.support.JdkRegexpMethodPointcut;
import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean; import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean;
...@@ -38,6 +42,23 @@ public class WebConfig { ...@@ -38,6 +42,23 @@ public class WebConfig {
} }
/** /**
* druid监控 配置URI拦截策略
* @return
*/
@Bean
public FilterRegistrationBean druidStatFilter(){
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
//添加过滤规则.
filterRegistrationBean.addUrlPatterns("/*");
//添加不需要忽略的格式信息.
filterRegistrationBean.addInitParameter(
"exclusions","/static/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid,/druid/*");
//用于session监控页面的用户名显示 需要登录后主动将username注入到session里
filterRegistrationBean.addInitParameter("principalSessionName","username");
return filterRegistrationBean;
}
/**
* druid数据库连接池监控 * druid数据库连接池监控
*/ */
@Bean @Bean
...@@ -45,6 +66,16 @@ public class WebConfig { ...@@ -45,6 +66,16 @@ public class WebConfig {
return new DruidStatInterceptor(); return new DruidStatInterceptor();
} }
@Bean
public JdkRegexpMethodPointcut druidStatPointcut(){
JdkRegexpMethodPointcut druidStatPointcut = new JdkRegexpMethodPointcut();
String patterns = "com.stylefeng.guns.modular.*.service.*";
//可以set多个
druidStatPointcut.setPatterns(patterns);
return druidStatPointcut;
}
/** /**
* druid数据库连接池监控 * druid数据库连接池监控
*/ */
...@@ -57,6 +88,15 @@ public class WebConfig { ...@@ -57,6 +88,15 @@ public class WebConfig {
} }
/** /**
* druid 为druidStatPointcut添加拦截
* @return
*/
@Bean
public Advisor druidStatAdvisor() {
return new DefaultPointcutAdvisor(druidStatPointcut(), druidStatInterceptor());
}
/**
* xssFilter注册 * xssFilter注册
*/ */
@Bean @Bean
......
...@@ -97,6 +97,7 @@ public class LoginController extends BaseController { ...@@ -97,6 +97,7 @@ public class LoginController extends BaseController {
ShiroUser shiroUser = ShiroKit.getUser(); ShiroUser shiroUser = ShiroKit.getUser();
super.getSession().setAttribute("shiroUser", shiroUser); super.getSession().setAttribute("shiroUser", shiroUser);
super.getSession().setAttribute("username", shiroUser.getAccount());
LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp())); LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp()));
......
...@@ -58,6 +58,7 @@ spring: ...@@ -58,6 +58,7 @@ spring:
url: jdbc:mysql://127.0.0.1:3306/guns?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull url: jdbc:mysql://127.0.0.1:3306/guns?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
username: root username: root
password: root password: root
filters: log4j,wall,mergeStat
logging: logging:
level: debug level: debug
...@@ -74,6 +75,7 @@ spring: ...@@ -74,6 +75,7 @@ spring:
url: jdbc:mysql://127.0.0.1:3306/guns?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull url: jdbc:mysql://127.0.0.1:3306/guns?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
username: root username: root
password: root password: root
filters: log4j,wall,mergeStat
logging: logging:
level: warn level: warn
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment