修改系统过滤器
This commit is contained in:
parent
f3c5d8a686
commit
18f591664b
@ -34,6 +34,7 @@ public class CountGlobalFilter implements GlobalFilter, Ordered {
|
||||
System.out.println("uri: " + uri);
|
||||
System.out.println("count: "+ count.getAndAdd(1));
|
||||
System.out.println();
|
||||
|
||||
return chain.filter(exchange);
|
||||
// return exchange.getResponse().setComplete();
|
||||
}
|
||||
|
@ -1,10 +1,9 @@
|
||||
package ink.wgink.gateway.config;
|
||||
package ink.wgink.gateway.filter.wg;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.server.ServerWebExchange;
|
||||
import org.springframework.web.server.WebFilter;
|
||||
import org.springframework.web.server.WebFilterChain;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
/**
|
||||
@ -18,23 +17,15 @@ import reactor.core.publisher.Mono;
|
||||
* @Version: 1.0
|
||||
*/
|
||||
@Configuration
|
||||
public class WebFluxFilterConfig implements WebFilter {
|
||||
public class WebFluxFilter implements WebFilter {
|
||||
|
||||
public static final String SESSION_USER = "SESSION_USER";
|
||||
|
||||
@Override
|
||||
public Mono<Void> filter(ServerWebExchange serverWebExchange, WebFilterChain webFilterChain) {
|
||||
serverWebExchange.getRequest().getHeaders().forEach((k, list) -> {
|
||||
System.out.println(k);
|
||||
list.forEach(System.out::println);
|
||||
});
|
||||
|
||||
serverWebExchange.getSession().filter(webSession -> webSession.getAttributes().get(SESSION_USER) == null).then();
|
||||
serverWebExchange.getRequest().mutate().path("").build();
|
||||
return webFilterChain.filter(serverWebExchange);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Flux.just("你好1", "你好2").subscribe(c -> {
|
||||
System.out.println(c);
|
||||
});
|
||||
|
||||
Mono.just("1").subscribe(System.out::println);
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
layui.define(function(exports) {
|
||||
|
||||
var pathRegex = function(value) {
|
||||
if(/^\/[^\s]+/.test(value)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
var uriRegex = function(value) {
|
||||
if(/(^#)|(^http(s*):\/\/[^\s]+)/.test(value)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
exports('regex', {
|
||||
path: pathRegex,
|
||||
uri: uriRegex
|
||||
})
|
||||
});
|
@ -34,9 +34,7 @@
|
||||
<div class="iframe-breadcrumb-box">
|
||||
<span class="layui-breadcrumb">
|
||||
<a href="">首页</a>
|
||||
<a href="">国际新闻</a>
|
||||
<a href="">亚太地区</a>
|
||||
<a><cite>正文</cite></a>
|
||||
<a><cite>路由映射</cite></a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="iframe-box">
|
||||
|
@ -16,12 +16,14 @@
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="keywords" class="layui-input search-item" placeholder="输入关键字">
|
||||
</div>
|
||||
<button type="button" id="search" class="layui-btn">
|
||||
<i class="fa fa-lg fa-search"></i> 搜索
|
||||
</button>
|
||||
<button type="button" id="refresh" class="layui-btn">
|
||||
<i class="fa fa-lg fa-refresh"></i> 刷新路由
|
||||
</button>
|
||||
<div class="layui-btn-group">
|
||||
<button type="button" id="search" class="layui-btn layui-btn-sm">
|
||||
<i class="fa fa-lg fa-search"></i> 搜索
|
||||
</button>
|
||||
<button type="button" id="refresh" class="layui-btn layui-btn-normal layui-btn-sm">
|
||||
<i class="fa fa-lg fa-refresh"></i> 刷新路由
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
|
||||
<!-- 表头按钮组 -->
|
||||
@ -43,7 +45,9 @@
|
||||
</div>
|
||||
<script src="assets/layui-v2.6.4/layui/layui.js"></script>
|
||||
<script>
|
||||
layui.use(['layer', 'table'], function () {
|
||||
layui.config({
|
||||
base: 'assets/layui-v2.6.4/layui/modules/'
|
||||
}).extend({}).use(['layer', 'table'], function () {
|
||||
var $ = layui.$;
|
||||
var $win = $(window);
|
||||
var layer = layui.layer;
|
||||
@ -161,11 +165,23 @@
|
||||
initTable(1);
|
||||
});
|
||||
$(document).on('click', '#refresh', function() {
|
||||
top.restAjax.get(top.restAjax.path('api/route/refresh', []), {}, null, function(code, data) {
|
||||
top.dialog.msg('刷新成功')
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
})
|
||||
top.dialog.msg('确定更新全部映射?', {
|
||||
time: 0,
|
||||
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
||||
shade: 0.3,
|
||||
yes: function (index) {
|
||||
var layIndex = null;
|
||||
top.restAjax.get(top.restAjax.path('api/route/refresh', []), {}, null, function(code, data) {
|
||||
top.dialog.msg('刷新成功')
|
||||
}, function(code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
}, function () {
|
||||
layIndex = top.dialog.msg('正在更新', {icon: 16, time: 0, shade: 0.3});
|
||||
}, function () {
|
||||
top.dialog.close(layIndex);
|
||||
})
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 删除
|
||||
|
@ -35,14 +35,14 @@
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">映射路径</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="path" class="layui-input" lay-verify="required" placeholder="请输入映射路径">
|
||||
<input type="text" name="path" class="layui-input" lay-verify="required|path" placeholder="请输入映射路径">
|
||||
<div class="layui-form-mid layui-word-aux">直接访问网关的路径,支持通配符,路径中的变量用{}包含,如/p1/**,/p2/{pq1}/{pq2}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">被映射服务</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="uri" class="layui-input" lay-verify="required" placeholder="请输入服务地址">
|
||||
<input type="text" name="uri" class="layui-input" lay-verify="required|uri" placeholder="请输入服务地址">
|
||||
<div class="layui-form-mid layui-word-aux">需要映射的服务器uri路径,如http://127.0.0.1:8080</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -60,10 +60,13 @@
|
||||
</div>
|
||||
<script src="assets/layui-v2.6.4/layui/layui.js"></script>
|
||||
<script>
|
||||
layui.use(['form', 'laydate', 'laytpl'], function(){
|
||||
layui.config({
|
||||
base: 'assets/layui-v2.6.4/layui/modules/'
|
||||
}).extend({}).use(['form', 'laydate', 'laytpl', 'regex'], function(){
|
||||
var $ = layui.$;
|
||||
var form = layui.form;
|
||||
var layer = layui.layer;
|
||||
var regex = layui.regex;
|
||||
var uuid = top.restAjax.params(window.location.href).uuid;
|
||||
|
||||
function closeBox() {
|
||||
@ -110,6 +113,16 @@
|
||||
|
||||
// 校验
|
||||
form.verify({
|
||||
uri: function(value, item) {
|
||||
if(!regex.uri(value)) {
|
||||
return '链接格式不正确'
|
||||
}
|
||||
},
|
||||
path: function(value, item) {
|
||||
if(!regex.path(value)) {
|
||||
return '路径格式不正确'
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
@ -35,14 +35,14 @@
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">映射路径</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="path" class="layui-input" lay-verify="required" placeholder="请输入映射路径">
|
||||
<input type="text" name="path" class="layui-input" lay-verify="required|path" placeholder="请输入映射路径">
|
||||
<div class="layui-form-mid layui-word-aux">直接访问网关的路径,支持通配符,路径中的变量用{}包含,如/p1/**,/p2/{pq1}/{pq2}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">被映射服务</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="uri" class="layui-input" lay-verify="required" placeholder="请输入服务地址">
|
||||
<input type="text" name="uri" class="layui-input" lay-verify="required|uri" placeholder="请输入服务地址">
|
||||
<div class="layui-form-mid layui-word-aux">需要映射的服务器uri路径,如http://127.0.0.1:8080</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -60,10 +60,13 @@
|
||||
</div>
|
||||
<script src="assets/layui-v2.6.4/layui/layui.js"></script>
|
||||
<script>
|
||||
layui.use(['form', 'laydate', 'laytpl'], function(){
|
||||
layui.config({
|
||||
base: 'assets/layui-v2.6.4/layui/modules/'
|
||||
}).extend({}).use(['form', 'laydate', 'laytpl', 'regex'], function(){
|
||||
var $ = layui.$;
|
||||
var form = layui.form;
|
||||
var layer = layui.layer;
|
||||
var regex = layui.regex;
|
||||
var uuid = top.restAjax.params(window.location.href).uuid;
|
||||
|
||||
function closeBox() {
|
||||
@ -125,6 +128,16 @@
|
||||
|
||||
// 校验
|
||||
form.verify({
|
||||
uri: function(value, item) {
|
||||
if(!regex.uri(value)) {
|
||||
return '链接格式不正确'
|
||||
}
|
||||
},
|
||||
path: function(value, item) {
|
||||
if(!regex.path(value)) {
|
||||
return '路径格式不正确'
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
Loading…
Reference in New Issue
Block a user