记得上下班打卡 | git大法好,push需谨慎

Commit af015a6e authored by 张国柄's avatar 张国柄

鉴权调整;

配置调整;
parent f3fe0aed
......@@ -17,6 +17,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import org.springframework.util.AntPathMatcher;
import org.springframework.util.CollectionUtils;
import org.springframework.util.DigestUtils;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
......@@ -30,9 +31,20 @@ import java.util.List;
@ConfigurationProperties(prefix = "global-auth")
public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter {
private static final Logger log = LoggerFactory.getLogger(GlobalAuthorityInterceptor.class);
//private List<String> includeUrlPattern;
/**
* 模式I(与模式II互斥)
* <p>
* 无需鉴权的URI.REGEX
* </p>
*/
private List<String> excludeUrlPattern;
/**
* 模式II(与模式I互斥)
* <p>
* 需要鉴权的URI.REGEX
* </p>
*/
private List<String> includeUrlPattern;
private static final String CONTENT_TYPE = "application/json;charset=utf-8";
private static final String TOKEN_ILLEGAL = "40001";
......@@ -74,8 +86,9 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter {
responseCode = TOKEN_ILLEGAL;
}
if (!CollectionUtils.isEmpty(excludeUrlPattern)) {
for (String urlPattern : excludeUrlPattern) {
if (antPathMatcher.match(urlPattern, uri)) {
if (antPathMatcher.match(urlPattern, uri)) {// 匹配到的无需鉴权
return true;
}
}
......@@ -86,16 +99,49 @@ public class GlobalAuthorityInterceptor extends HandlerInterceptorAdapter {
if (StringUtils.isEmpty(currentUid)) {
return this.responseHandlerRefuse(response, TOKEN_ILLEGAL);
}
if (this.authorityHandler(response, uri, token, currentUid, claims)) {
return true;
return this.authorityHandler(response, uri, token, currentUid, claims);
} else if (!CollectionUtils.isEmpty(includeUrlPattern)) {
for (String urlPattern : includeUrlPattern) {
if (antPathMatcher.match(urlPattern, uri)) {// 匹配到的需要鉴权
if (StringUtils.isNotEmpty(responseCode)) {
log.warn("Authority failed:{},uri:[{}],authorization:{}", responseCode, uri, authorization);
return this.responseHandlerRefuse(response, responseCode);
}
if (StringUtils.isEmpty(currentUid)) {
return this.responseHandlerRefuse(response, TOKEN_ILLEGAL);
}
return this.authorityHandler(response, uri, token, currentUid, claims);
}
}
return false;
}
return true;
// for (String urlPattern : excludeUrlPattern) {
// if (antPathMatcher.match(urlPattern, uri)) {// 未匹配的都要鉴权
// return true;
// }
// }
// if (StringUtils.isNotEmpty(responseCode)) {
// log.warn("Authority failed:{},uri:[{}],authorization:{}", responseCode, uri, authorization);
// return this.responseHandlerRefuse(response, responseCode);
// }
// if (StringUtils.isEmpty(currentUid)) {
// return this.responseHandlerRefuse(response, TOKEN_ILLEGAL);
// }
// if (this.authorityHandler(response, uri, token, currentUid, claims)) {
// return true;
// }
// return false;
}
public void setExcludeUrlPattern(List<String> excludeUrlPattern) {
this.excludeUrlPattern = excludeUrlPattern;
}
public void setIncludeUrlPattern(List<String> includeUrlPattern) {
this.includeUrlPattern = includeUrlPattern;
}
private void responseHandler(HttpServletResponse response, String responseCode) throws IOException {
ResponseDto<Object> responseDto = ResponseDto.failure(ErrorMapping.get(responseCode));
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
......
......@@ -85,38 +85,11 @@ spring:
max-wait: -1
max-idle: 8
min-idle: 0
redisson:
singleServerConfig:
address: redis://${liquidnet.redis.host}:${liquidnet.redis.port}
password: ${liquidnet.redis.password}
clientName: null
database: 7 #选择使用哪个数据库0~15
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
subscriptionsPerConnection: 5
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
connectionMinimumIdleSize: 32
connectionPoolSize: 64
dnsMonitoringInterval: 5000
threads: 16
nettyThreads: 32
codec:
class: "org.redisson.codec.JsonJacksonCodec"
transportMode: "NIO"
# data:
# mongodb:
# uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=2000&waitQueueMultiple=100
# sslEnabled: ${liquidnet.mongodb.sslEnabled}
# database: ${liquidnet.mongodb.database}
# -----------------------------------------------------------
# -----------------------------------------------------------
global-auth:
exclude-url-pattern:
exclude-url-pattern: # 模式I(与模式II互斥)
- ${liquidnet.info.context}/doc.html
- ${liquidnet.info.context}/webjars/**
- ${liquidnet.info.context}/swagger-resources/**
......@@ -137,9 +110,6 @@ global-auth:
- ${liquidnet.info.context}/wxa/code2session
- ${liquidnet.info.context}/wx/oauth2/access_token
- ${liquidnet.info.context}/rsc/**
# -----------------------------------------------------------
# -----------------------------------------------------------
# -----------------------------------------------------------
\ No newline at end of file
......@@ -85,19 +85,17 @@ spring:
max-wait: -1
max-idle: 8
min-idle: 0
data:
mongodb:
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=2000&waitQueueMultiple=100
sslEnabled: ${liquidnet.mongodb.sslEnabled}
database: ${liquidnet.mongodb.database}
# -----------------------------------------------------------
# -----------------------------------------------------------
global-auth:
exclude-url-pattern:
exclude-url-pattern: # 模式I(与模式II互斥)
- ${liquidnet.info.context}/doc.html
- ${liquidnet.info.context}/webjars/**
- ${liquidnet.info.context}/swagger-resources/**
- ${liquidnet.info.context}/v2/api-docs*
- ${liquidnet.info.context}/candy-coupon/useBack
- ${liquidnet.info.context}/candy-coupon/useBackJxl
# -----------------------------------------------------------
# -----------------------------------------------------------
\ No newline at end of file
......@@ -82,13 +82,12 @@ spring:
# -----------------------------------------------------------
global-auth:
exclude-url-pattern:
exclude-url-pattern: # 模式I(与模式II互斥)
- ${liquidnet.info.context}/doc.html
- ${liquidnet.info.context}/webjars/**
- ${liquidnet.info.context}/swagger-resources/**
- ${liquidnet.info.context}/v2/api-docs*
- ${liquidnet.info.context}/user/register
# -----------------------------------------------------------
# -----------------------------------------------------------
\ No newline at end of file
......@@ -87,71 +87,14 @@ spring:
max-wait: -1
max-idle: 8
min-idle: 0
# redisson:
# singleServerConfig:
# address: redis://${liquidnet.redis.host}:${liquidnet.redis.port}
# password: ${liquidnet.redis.password}
# clientName: null
# database: 7 #选择使用哪个数据库0~15
# idleConnectionTimeout: 10000
# connectTimeout: 10000
# timeout: 3000
# retryAttempts: 3
# retryInterval: 1500
# subscriptionsPerConnection: 5
# subscriptionConnectionMinimumIdleSize: 1
# subscriptionConnectionPoolSize: 50
# connectionMinimumIdleSize: 32
# connectionPoolSize: 64
# dnsMonitoringInterval: 5000
# threads: 16
# nettyThreads: 32
# codec:
# class: "org.redisson.codec.JsonJacksonCodec"
# transportMode: "NIO"
data:
mongodb:
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=2000&waitQueueMultiple=100
sslEnabled: ${liquidnet.mongodb.sslEnabled}
database: ${liquidnet.mongodb.database}
# -----------------------------------------------------------
# -----------------------------------------------------------
global-auth:
exclude-url-pattern:
- ${liquidnet.info.context}/doc.html
- ${liquidnet.info.context}/webjars/**
- ${liquidnet.info.context}/swagger-resources/**
- ${liquidnet.info.context}/v2/api-docs*
- ${liquidnet.info.context}/station/login
- ${liquidnet.info.context}/station/login/sms
# -
- ${liquidnet.info.context}/partner/buyNotice/**
- ${liquidnet.info.context}/partner/checkUser/**
- ${liquidnet.info.context}/partner/checkUser/performance/**
- ${liquidnet.info.context}/partner/ticket/**
- ${liquidnet.info.context}/partner/times/**
- ${liquidnet.info.context}/partner/performance/**
# banner
- ${liquidnet.info.context}/banners/**
- ${liquidnet.info.context}/order/checkOrderTime
- ${liquidnet.info.context}/order/syncOrder
# 退款回掉
- ${liquidnet.info.context}/refund/callback
# 演出
- ${liquidnet.info.context}/performance/localList
- ${liquidnet.info.context}/performance/noticeList
- ${liquidnet.info.context}/performance/roadList/**
- ${liquidnet.info.context}/performance/recommendList
- ${liquidnet.info.context}/performance/exclusiveList
- ${liquidnet.info.context}/performance/search
- ${liquidnet.info.context}/performance/list
- ${liquidnet.info.context}/performance/calendar
- ${liquidnet.info.context}/performance/calendarPerformances
- ${liquidnet.info.context}/performance/*
# -----------------------------------------------------------
exclude-url-pattern: # 模式I(与模式II互斥)
# - ${liquidnet.info.context}/**
include-url-pattern: # 模式II(与模式I互斥)
# - ${liquidnet.info.context}/**
# -----------------------------------------------------------
# -----------------------------------------------------------
\ No newline at end of file
......@@ -103,3 +103,13 @@ info:
mybatis-plus:
mapper-locations: classpath*:com.liquidnet.service.*.mapper/*Mapper.xml
# -----------------------------------------------------------
# -----------------------------------------------------------
global-auth:
exclude-url-pattern: # 模式I(与模式II互斥)
# - ${liquidnet.info.context}/**
include-url-pattern: # 模式II(与模式I互斥)
# - ${liquidnet.info.context}/**
# -----------------------------------------------------------
# -----------------------------------------------------------
\ No newline at end of file
......@@ -72,31 +72,6 @@ spring:
- org.springframework.cloud.bus.BusAutoConfiguration
- org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
- org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration
# rabbitmq:
# addresses: ${liquidnet.rabbitmq.host}
# port: ${liquidnet.rabbitmq.port}
# username: ${liquidnet.rabbitmq.username}
# password: ${liquidnet.rabbitmq.password}
# datasource:
# name: liquidnet_bus_db
# url: jdbc:mysql://${liquidnet.mysql.urlHostAndPort}/${liquidnet.mysql.database-name}?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false
# username: ${liquidnet.mysql.username}
# password: ${liquidnet.mysql.password}
## type: org.apache.tomcat.jdbc.pool.DataSource
# driver-class-name: com.mysql.cj.jdbc.Driver
# filters: stat
# maxActive: 20
# initialSize: 1
# maxWait: 60000
# minIdle: 1
# timeBetweenEvictionRunsMillis: 60000
# minEvictableIdleTimeMillis: 300000
# validationQuery: select 'x'
# testWhileIdle: true
# testOnBorrow: false
# testOnReturn: false
# poolPreparedStatements: true
# maxOpenPreparedStatements: 20
# -----------------------------------------------------------
# -----------------------------------------------------------
......@@ -148,12 +148,10 @@ global-auth:
- ${liquidnet.info.context}/performance/calendarPerformances
- ${liquidnet.info.context}/performance/*
- ${liquidnet.info.context}/myPerformance/*
# -----------------------------------------------------------
# -----------------------------------------------------------
# -----------------------------------------------------------
liquidnet:
al-oss:
imgUrl: "https://img.zhengzai.tv/"
# -----------------------------------------------------------
\ No newline at end of file
......@@ -94,71 +94,14 @@ spring:
max-wait: -1
max-idle: 8
min-idle: 0
# redisson:
# singleServerConfig:
# address: redis://${liquidnet.redis.host}:${liquidnet.redis.port}
# password: ${liquidnet.redis.password}
# clientName: null
# database: 7 #选择使用哪个数据库0~15
# idleConnectionTimeout: 10000
# connectTimeout: 10000
# timeout: 3000
# retryAttempts: 3
# retryInterval: 1500
# subscriptionsPerConnection: 5
# subscriptionConnectionMinimumIdleSize: 1
# subscriptionConnectionPoolSize: 50
# connectionMinimumIdleSize: 32
# connectionPoolSize: 64
# dnsMonitoringInterval: 5000
# threads: 16
# nettyThreads: 32
# codec:
# class: "org.redisson.codec.JsonJacksonCodec"
# transportMode: "NIO"
data:
mongodb:
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=2000&waitQueueMultiple=100
sslEnabled: ${liquidnet.mongodb.sslEnabled}
database: ${liquidnet.mongodb.database}
# -----------------------------------------------------------
# -----------------------------------------------------------
global-auth:
exclude-url-pattern:
- ${liquidnet.info.context}/doc.html
- ${liquidnet.info.context}/webjars/**
- ${liquidnet.info.context}/swagger-resources/**
- ${liquidnet.info.context}/v2/api-docs*
- ${liquidnet.info.context}/station/login
- ${liquidnet.info.context}/station/login/sms
# -
- ${liquidnet.info.context}/partner/buyNotice/**
- ${liquidnet.info.context}/partner/checkUser/**
- ${liquidnet.info.context}/partner/checkUser/performance/**
- ${liquidnet.info.context}/partner/ticket/**
- ${liquidnet.info.context}/partner/times/**
- ${liquidnet.info.context}/partner/performance/**
# banner
- ${liquidnet.info.context}/banners/**
- ${liquidnet.info.context}/order/checkOrderTime
- ${liquidnet.info.context}/order/syncOrder
# 退款回掉
- ${liquidnet.info.context}/refund/callback
# 演出
- ${liquidnet.info.context}/performance/localList
- ${liquidnet.info.context}/performance/noticeList
- ${liquidnet.info.context}/performance/roadList/**
- ${liquidnet.info.context}/performance/recommendList
- ${liquidnet.info.context}/performance/exclusiveList
- ${liquidnet.info.context}/performance/search
- ${liquidnet.info.context}/performance/list
- ${liquidnet.info.context}/performance/calendar
- ${liquidnet.info.context}/performance/calendarPerformances
- ${liquidnet.info.context}/performance/*
# -----------------------------------------------------------
exclude-url-pattern: # 模式I(与模式II互斥)
# - ${liquidnet.info.context}/**
include-url-pattern: # 模式II(与模式I互斥)
# - ${liquidnet.info.context}/**
# -----------------------------------------------------------
# -----------------------------------------------------------
\ No newline at end of file
......@@ -85,28 +85,28 @@ spring:
max-wait: -1
max-idle: 8
min-idle: 0
redisson:
singleServerConfig:
address: redis://${liquidnet.redis.host}:${liquidnet.redis.port}
password: ${liquidnet.redis.password}
clientName: null
database: 7 #选择使用哪个数据库0~15
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
subscriptionsPerConnection: 5
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
connectionMinimumIdleSize: 32
connectionPoolSize: 64
dnsMonitoringInterval: 5000
threads: 16
nettyThreads: 32
codec:
class: "org.redisson.codec.JsonJacksonCodec"
transportMode: "NIO"
# redisson:
# singleServerConfig:
# address: redis://${liquidnet.redis.host}:${liquidnet.redis.port}
# password: ${liquidnet.redis.password}
# clientName: null
# database: 7 #选择使用哪个数据库0~15
# idleConnectionTimeout: 10000
# connectTimeout: 10000
# timeout: 3000
# retryAttempts: 3
# retryInterval: 1500
# subscriptionsPerConnection: 5
# subscriptionConnectionMinimumIdleSize: 1
# subscriptionConnectionPoolSize: 50
# connectionMinimumIdleSize: 32
# connectionPoolSize: 64
# dnsMonitoringInterval: 5000
# threads: 16
# nettyThreads: 32
# codec:
# class: "org.redisson.codec.JsonJacksonCodec"
# transportMode: "NIO"
data:
mongodb:
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=2000&waitQueueMultiple=100
......@@ -121,33 +121,7 @@ global-auth:
- ${liquidnet.info.context}/webjars/**
- ${liquidnet.info.context}/swagger-resources/**
- ${liquidnet.info.context}/v2/api-docs*
- ${liquidnet.info.context}/station/login
- ${liquidnet.info.context}/station/login/sms
# -
- ${liquidnet.info.context}/partner/buyNotice/**
- ${liquidnet.info.context}/partner/checkUser/**
- ${liquidnet.info.context}/partner/checkUser/performance/**
- ${liquidnet.info.context}/partner/ticket/**
- ${liquidnet.info.context}/partner/times/**
- ${liquidnet.info.context}/partner/performance/**
# banner
- ${liquidnet.info.context}/banners/**
- ${liquidnet.info.context}/order/checkOrderTime
- ${liquidnet.info.context}/order/syncOrder
# 退款回掉
- ${liquidnet.info.context}/refund/callback
# 演出
- ${liquidnet.info.context}/performance/localList
- ${liquidnet.info.context}/performance/noticeList
- ${liquidnet.info.context}/performance/roadList/**
- ${liquidnet.info.context}/performance/recommendList
- ${liquidnet.info.context}/performance/exclusiveList
- ${liquidnet.info.context}/performance/search
- ${liquidnet.info.context}/performance/list
- ${liquidnet.info.context}/performance/calendar
- ${liquidnet.info.context}/performance/calendarPerformances
- ${liquidnet.info.context}/performance/*
# -----------------------------------------------------------
# -----------------------------------------------------------
......
......@@ -180,19 +180,10 @@ spring:
# -----------------------------------------------------------
global-auth:
exclude-url-pattern:
- ${liquidnet.info.context}/doc.html
- ${liquidnet.info.context}/webjars/**
- ${liquidnet.info.context}/swagger-resources/**
- ${liquidnet.info.context}/v2/api-docs*
# 退款回调
- ${liquidnet.info.context}/refund/callback
# shunfeng快递推送
- ${liquidnet.info.context}/performancesExpress/orderStatus
- ${liquidnet.info.context}/performancesExpress/orderRoute
- ${liquidnet.info.context}/performancesExpress/orderFreightList
- ${liquidnet.info.context}/amorder/callack/refund
exclude-url-pattern: # 模式I(与模式II互斥)
# - ${liquidnet.info.context}/**
include-url-pattern: # 模式II(与模式I互斥)
# - ${liquidnet.info.context}/**
# -----------------------------------------------------------
# -----------------------------------------------------------
\ No newline at end of file
......@@ -79,28 +79,6 @@ spring:
max-wait: -1
max-idle: 8
min-idle: 0
redisson:
singleServerConfig:
address: redis://${liquidnet.redis.host}:${liquidnet.redis.port}
password: ${liquidnet.redis.password}
clientName: null
database: 7 #选择使用哪个数据库0~15
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
subscriptionsPerConnection: 5
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
connectionMinimumIdleSize: 32
connectionPoolSize: 64
dnsMonitoringInterval: 5000
threads: 16
nettyThreads: 32
codec:
class: "org.redisson.codec.JsonJacksonCodec"
transportMode: "NIO"
data:
mongodb:
uri: mongodb://${liquidnet.mongodb.user}:${liquidnet.mongodb.pwd}@${liquidnet.mongodb.host}/?authSource=admin&maxPoolSize=200&waitQueueMultiple=100
......@@ -124,14 +102,10 @@ spring:
# -----------------------------------------------------------
global-auth:
exclude-url-pattern:
- ${liquidnet.info.context}/doc.html
- ${liquidnet.info.context}/webjars/**
- ${liquidnet.info.context}/swagger-resources/**
- ${liquidnet.info.context}/v2/api-docs*
# -----------------------------------------------------------
exclude-url-pattern: # 模式I(与模式II互斥)
# - ${liquidnet.info.context}/**
include-url-pattern: # 模式II(与模式I互斥)
# - ${liquidnet.info.context}/**
# -----------------------------------------------------------
# -----------------------------------------------------------
\ No newline at end of file
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