From 8267d927804cde78f5ae6f9f36aa33a0bb783744 Mon Sep 17 00:00:00 2001
From: lsy <18332763730@163.com>
Date: Tue, 24 Oct 2017 21:21:44 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../boot-starter-security-core/pom.xml | 4 ++
.../demo/Ineterceptor/MyInterceptor.java | 47 +++++++++++++++++++
.../fast/security/demo/aspect/MyAspect.java | 28 +++++++++++
.../fast/security/demo/filter/MyFilter.java | 30 ++++++++++++
.../fast/security/demo/filter/WebConfig.java | 37 +++++++++++++++
.../src/main/resources/application.yml | 18 +------
.../src/main/resources/bootstrap-deploy.yml | 17 +++++++
.../src/main/resources/bootstrap.yml | 17 +++++++
ms/gateway/src/main/resources/bootstrap.yml | 2 +-
.../src/main/resources/bootstrap-deploy.yml | 18 +++++++
10 files changed, 200 insertions(+), 18 deletions(-)
create mode 100644 boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/Ineterceptor/MyInterceptor.java
create mode 100644 boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/aspect/MyAspect.java
create mode 100644 boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/filter/MyFilter.java
create mode 100644 boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/filter/WebConfig.java
create mode 100644 ms/config-server/src/main/resources/bootstrap-deploy.yml
create mode 100644 ms/config-server/src/main/resources/bootstrap.yml
create mode 100644 ms/upms/src/main/resources/bootstrap-deploy.yml
diff --git a/boot-starter/boot-starter-security/boot-starter-security-core/pom.xml b/boot-starter/boot-starter-security/boot-starter-security-core/pom.xml
index e3f321b..b034608 100644
--- a/boot-starter/boot-starter-security/boot-starter-security-core/pom.xml
+++ b/boot-starter/boot-starter-security/boot-starter-security-core/pom.xml
@@ -48,6 +48,10 @@
org.springframework.social
spring-social-web
+
+ org.springframework.boot
+ spring-boot-starter-aop
+
commons-lang
commons-lang
diff --git a/boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/Ineterceptor/MyInterceptor.java b/boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/Ineterceptor/MyInterceptor.java
new file mode 100644
index 0000000..33fad10
--- /dev/null
+++ b/boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/Ineterceptor/MyInterceptor.java
@@ -0,0 +1,47 @@
+package com.micro.fast.security.demo.Ineterceptor;
+
+import org.springframework.stereotype.Component;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 不能获取到处理请求方法中的参数的值
+ */
+@Component
+public class MyInterceptor implements HandlerInterceptor {
+ //请求之前,
+ @Override
+ public boolean preHandle(HttpServletRequest httpServletRequest,
+ HttpServletResponse httpServletResponse,
+ Object handler)
+ throws Exception {
+ //获取请求的类
+ System.out.println(((HandlerMethod) handler).getBean().getClass().getName());
+ //获取拦截的方法
+ System.out.println(((HandlerMethod) handler).getMethod().getName());
+ return false;
+ }
+
+ //** 请求之后,控制器中抛出了异常的话就不会执行
+ @Override
+ public void postHandle(HttpServletRequest httpServletRequest,
+ HttpServletResponse httpServletResponse,
+ Object handler, ModelAndView modelAndView)
+ throws Exception {
+
+ }
+
+ //** 请求之后调用,不管抛不抛出异常都会被调用.参数中异常如果被异常处理器调用的话就不会传入到参数中
+ @Override
+ public void afterCompletion(HttpServletRequest httpServletRequest,
+ HttpServletResponse httpServletResponse,
+ Object handler,
+ Exception e)
+ throws Exception {
+
+ }
+}
diff --git a/boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/aspect/MyAspect.java b/boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/aspect/MyAspect.java
new file mode 100644
index 0000000..776eb82
--- /dev/null
+++ b/boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/aspect/MyAspect.java
@@ -0,0 +1,28 @@
+package com.micro.fast.security.demo.aspect;
+
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.stereotype.Component;
+
+@Aspect
+@Component
+public class MyAspect {
+
+ @Pointcut("execution(* com.micro.fast.security.demo.controller.*(..))")
+ public void pointcut(){
+
+ }
+ @Around("pointcut()")
+ public Object around(ProceedingJoinPoint point){
+ Object[] args = point.getArgs();
+ try {
+ //被拦截的方法
+ Object object = point.proceed();
+ } catch (Throwable throwable) {
+ throwable.printStackTrace();
+ }
+ return null;
+ }
+}
diff --git a/boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/filter/MyFilter.java b/boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/filter/MyFilter.java
new file mode 100644
index 0000000..a4e73fd
--- /dev/null
+++ b/boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/filter/MyFilter.java
@@ -0,0 +1,30 @@
+package com.micro.fast.security.demo.filter;
+
+
+
+import javax.servlet.*;
+import javax.servlet.annotation.WebFilter;
+import java.io.IOException;
+
+/**
+ * 拦截所有服务的请求获取服务的信息,filter拦截器不能知道filter是哪个controller处理的请求,只能获取请求中的信息
+ * 拦截顺序Filter->Interceptor->ControllerAdvice->Aspect->Controller 发生异常的时候是反向的传递
+ */
+@WebFilter(urlPatterns = {"/**"})
+public class MyFilter implements Filter {
+
+ @Override
+ public void init(FilterConfig filterConfig) throws ServletException {
+
+ }
+
+ @Override
+ public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
+ filterChain.doFilter(servletRequest,servletResponse);
+ }
+
+ @Override
+ public void destroy() {
+
+ }
+}
diff --git a/boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/filter/WebConfig.java b/boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/filter/WebConfig.java
new file mode 100644
index 0000000..bd1bb77
--- /dev/null
+++ b/boot-starter/boot-starter-security/boot-starter-security-demo/src/main/java/com/micro/fast/security/demo/filter/WebConfig.java
@@ -0,0 +1,37 @@
+package com.micro.fast.security.demo.filter;
+
+import com.micro.fast.security.demo.Ineterceptor.MyInterceptor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+
+/**
+ * 注册外部的filter,
+ */
+@Configuration
+public class WebConfig extends WebMvcConfigurerAdapter{
+ @Autowired
+ private MyInterceptor myInterceptor;
+
+ /**
+ * 添加拦截器
+ * @param registry
+ */
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(myInterceptor);
+ }
+
+ @Bean
+ public FilterRegistrationBean timeFilter(){
+ FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
+ filterRegistrationBean.setFilter(new MyFilter());
+ String[] urls = new String[]{"/**"};
+ filterRegistrationBean.addUrlPatterns(urls);
+ return filterRegistrationBean;
+ }
+}
diff --git a/ms/config-server/src/main/resources/application.yml b/ms/config-server/src/main/resources/application.yml
index cdbcb30..2d4219f 100644
--- a/ms/config-server/src/main/resources/application.yml
+++ b/ms/config-server/src/main/resources/application.yml
@@ -1,14 +1,3 @@
-# 程序实例的配置,git仓库的配置
-spring:
- application:
- name: config-server
- cloud:
- config:
- server:
- git:
- uri: https://git.oschina.net/kklt1996/config-server/
- username: kklt1996
- password: studyj2e
server:
port: 9999
# 健康检查的相关配置
@@ -28,12 +17,6 @@ info:
name: "@project.name@" #从pom.xml中获取
description: "@project.description@"
version: "@project.version@"
-eureka:
- client:
- service-url:
- defaultZone: http://micro:fast@127.0.0.1:10002/eureka/,http://micro:fast@127.0.0.1:10003/eureka/ #配置所有的注册中心
- instance:
- hostname: www.config.server.com
security:
basic:
enabled: true
@@ -41,3 +24,4 @@ security:
name: config
password: server
+
diff --git a/ms/config-server/src/main/resources/bootstrap-deploy.yml b/ms/config-server/src/main/resources/bootstrap-deploy.yml
new file mode 100644
index 0000000..aea05c6
--- /dev/null
+++ b/ms/config-server/src/main/resources/bootstrap-deploy.yml
@@ -0,0 +1,17 @@
+# 程序实例的配置,git仓库的配置
+spring:
+ application:
+ name: config-server
+ cloud:
+ config:
+ server:
+ git:
+ uri: https://git.oschina.net/kklt1996/config-server/
+ username: kklt1996
+ password: studyj2e
+eureka:
+ client:
+ service-url:
+ defaultZone: http://micro:fast@127.0.0.1:10002/eureka/,http://micro:fast@127.0.0.1:10003/eureka/ #配置所有的注册中心
+ instance:
+ hostname: www.config.server.com
\ No newline at end of file
diff --git a/ms/config-server/src/main/resources/bootstrap.yml b/ms/config-server/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..aea05c6
--- /dev/null
+++ b/ms/config-server/src/main/resources/bootstrap.yml
@@ -0,0 +1,17 @@
+# 程序实例的配置,git仓库的配置
+spring:
+ application:
+ name: config-server
+ cloud:
+ config:
+ server:
+ git:
+ uri: https://git.oschina.net/kklt1996/config-server/
+ username: kklt1996
+ password: studyj2e
+eureka:
+ client:
+ service-url:
+ defaultZone: http://micro:fast@127.0.0.1:10002/eureka/,http://micro:fast@127.0.0.1:10003/eureka/ #配置所有的注册中心
+ instance:
+ hostname: www.config.server.com
\ No newline at end of file
diff --git a/ms/gateway/src/main/resources/bootstrap.yml b/ms/gateway/src/main/resources/bootstrap.yml
index 5766822..1410c9e 100644
--- a/ms/gateway/src/main/resources/bootstrap.yml
+++ b/ms/gateway/src/main/resources/bootstrap.yml
@@ -15,4 +15,4 @@ eureka:
serviceUrl:
defaultZone: http://micro:fast@127.0.0.1:10002/eureka/,http://micro:fast@127.0.0.1:10003/eureka/ #配置所有的注册中心
instance:
- hostname: www.gateway.com
\ No newline at end of file
+ hostname: www.gateway.com
diff --git a/ms/upms/src/main/resources/bootstrap-deploy.yml b/ms/upms/src/main/resources/bootstrap-deploy.yml
new file mode 100644
index 0000000..e2ed3eb
--- /dev/null
+++ b/ms/upms/src/main/resources/bootstrap-deploy.yml
@@ -0,0 +1,18 @@
+# 从配置中心加载文件
+spring:
+ cloud:
+ config:
+ profile: dev
+ label: master
+ name: upms
+ discovery:
+ service-id: config-server
+ enabled: true
+ username: config
+ password: server
+eureka:
+ client:
+ serviceUrl:
+ defaultZone: http://micro:fast@127.0.0.1:10002/eureka/,http://micro:fast@127.0.0.1:10003/eureka/ #配置所有的注册中心
+ instance:
+ hostname: www.upms.com
\ No newline at end of file