Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Gradle-SpringCloud
gateway-server
提交
dc409e8b
G
gateway-server
项目概览
Gradle-SpringCloud
/
gateway-server
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gateway-server
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
dc409e8b
编写于
4月 24, 2021
作者:
木下藤吉郎
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1234
上级
48c000ff
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
71 addition
and
4 deletion
+71
-4
build.gradle
build.gradle
+2
-0
src/main/java/com/zkcloud/gatewayserver/config/KeyResolverConfig.java
...a/com/zkcloud/gatewayserver/config/KeyResolverConfig.java
+22
-0
src/main/java/com/zkcloud/gatewayserver/filter/AuthTokenGlobalFilter.java
...m/zkcloud/gatewayserver/filter/AuthTokenGlobalFilter.java
+38
-0
src/main/resources/bootstrap.yml
src/main/resources/bootstrap.yml
+9
-4
未找到文件。
build.gradle
浏览文件 @
dc409e8b
...
...
@@ -30,6 +30,8 @@ dependencies {
implementation
'org.springframework.cloud:spring-cloud-starter-config'
implementation
'org.springframework.cloud:spring-cloud-starter-bootstrap'
implementation
'org.springframework.cloud:spring-cloud-starter-gateway'
implementation
'org.springframework.boot:spring-boot-starter-data-redis-reactive'
implementation
'org.apache.commons:commons-pool2'
}
dependencyManagement
{
...
...
src/main/java/com/zkcloud/gatewayserver/config/KeyResolverConfig.java
0 → 100644
浏览文件 @
dc409e8b
package
com.zkcloud.gatewayserver.config
;
import
org.springframework.cloud.gateway.filter.ratelimit.KeyResolver
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
reactor.core.publisher.Mono
;
@Configuration
public
class
KeyResolverConfig
{
/**
* 根据URL限流
*
* @return KeyResolver
*/
@Bean
public
KeyResolver
pathKeyResolver
()
{
return
exchange
->
Mono
.
just
(
exchange
.
getRequest
().
getURI
().
getPath
());
}
}
src/main/java/com/zkcloud/gatewayserver/filter/AuthTokenGlobalFilter.java
0 → 100644
浏览文件 @
dc409e8b
package
com.zkcloud.gatewayserver.filter
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.cloud.gateway.filter.GatewayFilterChain
;
import
org.springframework.cloud.gateway.filter.GlobalFilter
;
import
org.springframework.core.Ordered
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.server.reactive.ServerHttpRequest
;
import
org.springframework.http.server.reactive.ServerHttpResponse
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.server.ServerWebExchange
;
import
reactor.core.publisher.Mono
;
@Component
public
class
AuthTokenGlobalFilter
implements
GlobalFilter
,
Ordered
{
@Override
public
int
getOrder
()
{
// 值越小,优先级越高
return
0
;
}
@Override
public
Mono
<
Void
>
filter
(
ServerWebExchange
exchange
,
GatewayFilterChain
chain
)
{
ServerHttpRequest
request
=
exchange
.
getRequest
();
String
accessToken
=
request
.
getQueryParams
().
getFirst
(
"access-token"
);
if
(!
StringUtils
.
equalsIgnoreCase
(
accessToken
,
"123"
))
{
ServerHttpResponse
response
=
exchange
.
getResponse
();
String
redirectUrl
=
"http://localhost:8001/index.html"
;
response
.
getHeaders
().
set
(
HttpHeaders
.
LOCATION
,
redirectUrl
);
response
.
setStatusCode
(
HttpStatus
.
SEE_OTHER
);
response
.
getHeaders
().
add
(
"Content-Type"
,
"text/plain;charset=UTF-8"
);
return
response
.
setComplete
();
}
return
chain
.
filter
(
exchange
);
}
}
src/main/resources/bootstrap.yml
浏览文件 @
dc409e8b
...
...
@@ -3,6 +3,8 @@ server:
spring
:
application
:
name
:
gateway-server
profiles
:
active
:
test
cloud
:
config
:
discovery
:
...
...
@@ -10,10 +12,13 @@ spring:
service-id
:
config-center
name
:
common
label
:
dev
profiles
:
active
:
test
thymeleaf
:
cache
:
false
gateway
:
discovery
:
locator
:
# 根据服务名转发
enabled
:
true
# 服务名一律转小写
lower-case-service-id
:
true
eureka
:
instance
:
hostname
:
localhost
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录