Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
schbrain-parent
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
framework
schbrain-parent
Commits
673cd4b0
Commit
673cd4b0
authored
Jun 26, 2023
by
liaozan
🏀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Change cors interceptor to cors filter
parent
337b29a9
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
55 additions
and
43 deletions
+55
-43
commons/web-common/src/main/java/com/schbrain/common/web/DefaultCorsConfiguration.java
...ava/com/schbrain/common/web/DefaultCorsConfiguration.java
+45
-0
commons/web-common/src/main/java/com/schbrain/common/web/ServletComponentConfiguration.java
...om/schbrain/common/web/ServletComponentConfiguration.java
+8
-1
commons/web-common/src/main/java/com/schbrain/common/web/WebCommonAutoConfiguration.java
...a/com/schbrain/common/web/WebCommonAutoConfiguration.java
+1
-15
commons/web-common/src/main/java/com/schbrain/common/web/servlet/AllowAnyOriginWithoutCredentialsCorsConfigurer.java
...rvlet/AllowAnyOriginWithoutCredentialsCorsConfigurer.java
+0
-26
commons/web-common/src/main/java/com/schbrain/common/web/servlet/RequestLoggingFilter.java
...com/schbrain/common/web/servlet/RequestLoggingFilter.java
+1
-1
No files found.
commons/web-common/src/main/java/com/schbrain/common/web/DefaultCorsConfiguration.java
0 → 100644
View file @
673cd4b0
package
com.schbrain.common.web
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.cors.*
;
import
org.springframework.web.filter.CorsFilter
;
import
java.time.Duration
;
/**
* @author liaozan
* @since 2023-06-26
*/
@Configuration
(
proxyBeanMethods
=
false
)
public
class
DefaultCorsConfiguration
{
@Bean
@ConditionalOnMissingBean
public
CorsConfiguration
defaultCorsConfiguration
()
{
CorsConfiguration
config
=
new
CorsConfiguration
();
config
.
setAllowCredentials
(
true
);
config
.
addAllowedOriginPattern
(
CorsConfiguration
.
ALL
);
config
.
addAllowedMethod
(
CorsConfiguration
.
ALL
);
config
.
addAllowedHeader
(
CorsConfiguration
.
ALL
);
config
.
addExposedHeader
(
CorsConfiguration
.
ALL
);
config
.
setMaxAge
(
Duration
.
ofDays
(
1
));
return
config
;
}
@Bean
@ConditionalOnMissingBean
public
CorsConfigurationSource
defaultCorsConfigurationSource
(
CorsConfiguration
corsConfiguration
)
{
UrlBasedCorsConfigurationSource
configSource
=
new
UrlBasedCorsConfigurationSource
();
configSource
.
registerCorsConfiguration
(
"/**"
,
corsConfiguration
);
return
configSource
;
}
@Bean
@ConditionalOnMissingBean
public
CorsFilter
defaultCorsFilter
(
CorsConfigurationSource
corsConfigurationSource
)
{
return
new
CorsFilter
(
corsConfigurationSource
);
}
}
\ No newline at end of file
commons/web-common/src/main/java/com/schbrain/common/web/ServletComponentConfiguration.java
View file @
673cd4b0
package
com.schbrain.common.web
;
import
com.schbrain.common.web.
log
.RequestLoggingFilter
;
import
com.schbrain.common.web.
servlet
.RequestLoggingFilter
;
import
com.schbrain.common.web.properties.WebProperties
;
import
com.schbrain.common.web.servlet.CharacterEncodingServletContextInitializer
;
import
com.schbrain.common.web.servlet.TraceIdInitializeServletListener
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.boot.web.servlet.filter.OrderedRequestContextFilter
;
...
...
@@ -17,6 +18,12 @@ import org.springframework.web.filter.RequestContextFilter;
@Configuration
(
proxyBeanMethods
=
false
)
public
class
ServletComponentConfiguration
{
@Bean
@ConditionalOnMissingBean
public
TraceIdInitializeServletListener
traceIdInitializeServletListener
()
{
return
new
TraceIdInitializeServletListener
();
}
@Bean
@ConditionalOnMissingBean
public
CharacterEncodingServletContextInitializer
characterEncodingServletContextInitializer
(
WebProperties
webProperties
)
{
...
...
commons/web-common/src/main/java/com/schbrain/common/web/WebCommonAutoConfiguration.java
View file @
673cd4b0
...
...
@@ -3,8 +3,6 @@ package com.schbrain.common.web;
import
com.schbrain.common.web.argument.BodyParamArgumentResolverWebMvcConfigurer
;
import
com.schbrain.common.web.properties.WebProperties
;
import
com.schbrain.common.web.result.ResponseBodyHandler
;
import
com.schbrain.common.web.servlet.AllowAnyOriginWithoutCredentialsCorsConfigurer
;
import
com.schbrain.common.web.servlet.TraceIdInitializeServletListener
;
import
org.springframework.beans.factory.BeanFactory
;
import
org.springframework.beans.factory.ObjectProvider
;
import
org.springframework.boot.autoconfigure.AutoConfiguration
;
...
...
@@ -25,7 +23,7 @@ import java.util.List;
@AutoConfiguration
@ConditionalOnWebApplication
(
type
=
Type
.
SERVLET
)
@EnableConfigurationProperties
(
WebProperties
.
class
)
@Import
({
AuthenticationConfiguration
.
class
,
ExceptionHandingConfiguration
.
class
,
ServletComponentConfiguration
.
class
})
@Import
({
AuthenticationConfiguration
.
class
,
ExceptionHandingConfiguration
.
class
,
ServletComponentConfiguration
.
class
,
DefaultCorsConfiguration
.
class
})
public
class
WebCommonAutoConfiguration
{
@Bean
...
...
@@ -53,16 +51,4 @@ public class WebCommonAutoConfiguration {
return
new
ResponseBodyHandler
(
basePackages
);
}
@Bean
@ConditionalOnMissingBean
public
TraceIdInitializeServletListener
traceIdInitializeServletListener
()
{
return
new
TraceIdInitializeServletListener
();
}
@Bean
@ConditionalOnMissingBean
public
AllowAnyOriginWithoutCredentialsCorsConfigurer
allowAnyOriginWithoutCredentialsCorsConfigurer
()
{
return
new
AllowAnyOriginWithoutCredentialsCorsConfigurer
();
}
}
\ No newline at end of file
commons/web-common/src/main/java/com/schbrain/common/web/servlet/AllowAnyOriginWithoutCredentialsCorsConfigurer.java
deleted
100644 → 0
View file @
337b29a9
package
com.schbrain.common.web.servlet
;
import
org.springframework.web.cors.CorsConfiguration
;
import
org.springframework.web.servlet.config.annotation.CorsRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
import
java.time.Duration
;
/**
* @author liaozan
* @since 2022/11/19
*/
public
class
AllowAnyOriginWithoutCredentialsCorsConfigurer
implements
WebMvcConfigurer
{
@Override
public
void
addCorsMappings
(
CorsRegistry
registry
)
{
registry
.
addMapping
(
"/**"
)
.
allowCredentials
(
false
)
.
allowedOrigins
(
CorsConfiguration
.
ALL
)
.
allowedHeaders
(
CorsConfiguration
.
ALL
)
.
allowedMethods
(
CorsConfiguration
.
ALL
)
.
exposedHeaders
(
CorsConfiguration
.
ALL
)
.
maxAge
(
Duration
.
ofHours
(
1
).
toSeconds
());
}
}
\ No newline at end of file
commons/web-common/src/main/java/com/schbrain/common/web/
log
/RequestLoggingFilter.java
→
commons/web-common/src/main/java/com/schbrain/common/web/
servlet
/RequestLoggingFilter.java
View file @
673cd4b0
package
com.schbrain.common.web.
log
;
package
com.schbrain.common.web.
servlet
;
import
cn.hutool.core.text.CharPool
;
import
cn.hutool.core.util.ArrayUtil
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment