Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
喜欢杯子
microservices-platform
提交
1c17de32
microservices-platform
项目概览
喜欢杯子
/
microservices-platform
与 Fork 源项目一致
Fork自
whatyn / microservices-platform
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
microservices-platform
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1c17de32
编写于
9月 04, 2019
作者:
zlt2000
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化代码
上级
845df448
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
41 addition
and
40 deletion
+41
-40
zlt-commons/zlt-common-spring-boot-starter/src/main/java/com/central/common/constant/SecurityConstants.java
...n/java/com/central/common/constant/SecurityConstants.java
+1
-2
zlt-commons/zlt-common-spring-boot-starter/src/main/java/com/central/common/context/TenantContextHolder.java
.../java/com/central/common/context/TenantContextHolder.java
+1
-1
zlt-commons/zlt-common-spring-boot-starter/src/main/java/com/central/common/interceptor/TenantInterceptor.java
...ava/com/central/common/interceptor/TenantInterceptor.java
+1
-1
zlt-commons/zlt-db-spring-boot-starter/src/main/java/com/central/db/config/TenantAutoConfigure.java
.../main/java/com/central/db/config/TenantAutoConfigure.java
+1
-1
zlt-commons/zlt-ribbon-spring-boot-starter/src/main/java/com/central/common/ribbon/config/FeignInterceptorConfig.java
.../central/common/ribbon/config/FeignInterceptorConfig.java
+36
-33
zlt-uaa/pom.xml
zlt-uaa/pom.xml
+0
-1
zlt-uaa/src/main/java/com/central/oauth/controller/OAuth2Controller.java
...n/java/com/central/oauth/controller/OAuth2Controller.java
+1
-1
未找到文件。
zlt-commons/zlt-common-spring-boot-starter/src/main/java/com/central/common/constant/SecurityConstants.java
浏览文件 @
1c17de32
...
...
@@ -19,7 +19,7 @@ public interface SecurityConstants {
/**
* 用户id信息头
*/
String
USER_ID_HEADER
=
"x-user
I
d-header"
;
String
USER_ID_HEADER
=
"x-user
i
d-header"
;
/**
* 角色信息头
...
...
@@ -30,7 +30,6 @@ public interface SecurityConstants {
* 租户信息头(应用)
*/
String
TENANT_HEADER
=
"x-tenant-header"
;
String
CLIENT_HEADER
=
"x-client-header"
;
/**
* 基础角色
...
...
zlt-commons/zlt-common-spring-boot-starter/src/main/java/com/central/common/
utils
/TenantContextHolder.java
→
zlt-commons/zlt-common-spring-boot-starter/src/main/java/com/central/common/
context
/TenantContextHolder.java
浏览文件 @
1c17de32
package
com.central.common.
utils
;
package
com.central.common.
context
;
import
com.alibaba.ttl.TransmittableThreadLocal
;
...
...
zlt-commons/zlt-common-spring-boot-starter/src/main/java/com/central/common/interceptor/TenantInterceptor.java
浏览文件 @
1c17de32
...
...
@@ -3,7 +3,7 @@ package com.central.common.interceptor;
import
cn.hutool.core.util.StrUtil
;
import
com.central.common.constant.CommonConstant
;
import
com.central.common.constant.SecurityConstants
;
import
com.central.common.
utils
.TenantContextHolder
;
import
com.central.common.
context
.TenantContextHolder
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
javax.servlet.http.HttpServletRequest
;
...
...
zlt-commons/zlt-db-spring-boot-starter/src/main/java/com/central/db/config/TenantAutoConfigure.java
浏览文件 @
1c17de32
...
...
@@ -3,7 +3,7 @@ package com.central.db.config;
import
com.baomidou.mybatisplus.core.parser.ISqlParserFilter
;
import
com.baomidou.mybatisplus.core.parser.SqlParserHelper
;
import
com.baomidou.mybatisplus.extension.plugins.tenant.TenantHandler
;
import
com.central.common.
utils
.TenantContextHolder
;
import
com.central.common.
context
.TenantContextHolder
;
import
com.central.common.properties.TenantProperties
;
import
net.sf.jsqlparser.expression.Expression
;
import
net.sf.jsqlparser.expression.NullValue
;
...
...
zlt-commons/zlt-ribbon-spring-boot-starter/src/main/java/com/central/common/ribbon/config/FeignInterceptorConfig.java
浏览文件 @
1c17de32
...
...
@@ -3,15 +3,18 @@ package com.central.common.ribbon.config;
import
cn.hutool.core.util.StrUtil
;
import
com.central.common.constant.CommonConstant
;
import
com.central.common.constant.SecurityConstants
;
import
com.central.common.
utils
.TenantContextHolder
;
import
com.central.common.
context
.TenantContextHolder
;
import
feign.RequestInterceptor
;
import
org.slf4j.MDC
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.annotation.PostConstruct
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.ArrayList
;
import
java.util.Enumeration
;
import
java.util.List
;
/**
* feign拦截器
...
...
@@ -19,9 +22,17 @@ import java.util.Enumeration;
* @author zlt
*/
public
class
FeignInterceptorConfig
{
protected
List
<
String
>
requestHeaders
=
new
ArrayList
<>();
@PostConstruct
public
void
initialize
()
{
requestHeaders
.
add
(
SecurityConstants
.
USER_ID_HEADER
);
requestHeaders
.
add
(
SecurityConstants
.
USER_HEADER
);
requestHeaders
.
add
(
SecurityConstants
.
ROLE_HEADER
);
}
/**
* 使用feign client访问别的微服务时,将access_token、username、roles、client等信息放入header传递给下一个服务
* 使用feign client访问别的微服务时,将
上游传过来的
access_token、username、roles、client等信息放入header传递给下一个服务
*/
@Bean
public
RequestInterceptor
requestInterceptor
()
{
...
...
@@ -30,7 +41,18 @@ public class FeignInterceptorConfig {
.
getRequestAttributes
();
if
(
attributes
!=
null
)
{
HttpServletRequest
request
=
attributes
.
getRequest
();
Enumeration
<
String
>
headerNames
=
request
.
getHeaderNames
();
if
(
headerNames
!=
null
)
{
String
headerName
;
String
headerValue
;
while
(
headerNames
.
hasMoreElements
())
{
headerName
=
headerNames
.
nextElement
();
if
(
requestHeaders
.
contains
(
headerName
))
{
headerValue
=
request
.
getHeader
(
headerName
);
template
.
header
(
headerName
,
headerValue
);
}
}
}
//传递access_token,无网络隔离时需要传递
/*
String token = extractHeaderToken(request);
...
...
@@ -41,36 +63,17 @@ public class FeignInterceptorConfig {
template.header(CommonConstant.TOKEN_HEADER, CommonConstant.BEARER_TYPE + " " + token);
}
*/
}
//传递client
String
tenant
=
TenantContextHolder
.
getTenant
();
if
(
StrUtil
.
isNotEmpty
(
tenant
))
{
template
.
header
(
SecurityConstants
.
TENANT_HEADER
,
tenant
);
}
//传递userid
String
userid
=
request
.
getHeader
(
SecurityConstants
.
USER_ID_HEADER
);
if
(
StrUtil
.
isNotEmpty
(
userid
))
{
template
.
header
(
SecurityConstants
.
USER_ID_HEADER
,
userid
);
}
//传递username
String
username
=
request
.
getHeader
(
SecurityConstants
.
USER_HEADER
);
if
(
StrUtil
.
isNotEmpty
(
username
))
{
template
.
header
(
SecurityConstants
.
USER_HEADER
,
username
);
}
//传递roles
String
roles
=
request
.
getHeader
(
SecurityConstants
.
ROLE_HEADER
);
if
(
StrUtil
.
isNotEmpty
(
roles
))
{
template
.
header
(
SecurityConstants
.
ROLE_HEADER
,
roles
);
}
//传递client
String
tenant
=
TenantContextHolder
.
getTenant
();
if
(
StrUtil
.
isNotEmpty
(
tenant
))
{
template
.
header
(
SecurityConstants
.
TENANT_HEADER
,
tenant
);
}
//传递日志traceId
String
traceId
=
MDC
.
get
(
CommonConstant
.
LOG_TRACE_ID
);
if
(
StrUtil
.
isNotEmpty
(
traceId
))
{
template
.
header
(
CommonConstant
.
TRACE_ID_HEADER
,
traceId
);
}
//传递日志traceId
String
traceId
=
MDC
.
get
(
CommonConstant
.
LOG_TRACE_ID
);
if
(
StrUtil
.
isNotEmpty
(
traceId
))
{
template
.
header
(
CommonConstant
.
TRACE_ID_HEADER
,
traceId
);
}
};
return
requestInterceptor
;
...
...
@@ -80,7 +83,7 @@ public class FeignInterceptorConfig {
* 解析head中的token
* @param request
*/
private
static
String
extractHeaderToken
(
HttpServletRequest
request
)
{
private
String
extractHeaderToken
(
HttpServletRequest
request
)
{
Enumeration
<
String
>
headers
=
request
.
getHeaders
(
CommonConstant
.
TOKEN_HEADER
);
while
(
headers
.
hasMoreElements
())
{
String
value
=
headers
.
nextElement
();
...
...
zlt-uaa/pom.xml
浏览文件 @
1c17de32
...
...
@@ -54,7 +54,6 @@
<dependency>
<groupId>
com.github.whvcse
</groupId>
<artifactId>
easy-captcha
</artifactId>
<!--<version>1.5.0</version>-->
</dependency>
<dependency>
...
...
zlt-uaa/src/main/java/com/central/oauth/controller/OAuth2Controller.java
浏览文件 @
1c17de32
...
...
@@ -2,7 +2,7 @@ package com.central.oauth.controller;
import
com.central.common.constant.SecurityConstants
;
import
com.central.common.utils.ResponseUtil
;
import
com.central.common.
utils
.TenantContextHolder
;
import
com.central.common.
context
.TenantContextHolder
;
import
com.central.oauth2.common.token.MobileAuthenticationToken
;
import
com.central.oauth2.common.token.OpenIdAuthenticationToken
;
import
com.central.oauth2.common.util.AuthUtils
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录