Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart_gov_platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
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
赵啸非
smart_gov_platform
Commits
09b30a2d
Commit
09b30a2d
authored
Oct 10, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交配置校验
parent
cb845bc8
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
46 additions
and
0 deletions
+46
-0
portal-manager/src/main/java/com/mortals/xhx/base/framework/filter/SameSiteCookieFilter.java
...rtals/xhx/base/framework/filter/SameSiteCookieFilter.java
+46
-0
No files found.
portal-manager/src/main/java/com/mortals/xhx/base/framework/filter/SameSiteCookieFilter.java
0 → 100644
View file @
09b30a2d
package
com.mortals.xhx.base.framework.filter
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.stereotype.Component
;
import
javax.servlet.*
;
import
javax.servlet.http.Cookie
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.Arrays
;
import
java.util.HashSet
;
import
java.util.Set
;
@Slf4j
@Component
@Profile
({
"yanyuan"
,
"test"
})
public
class
SameSiteCookieFilter
implements
Filter
{
@Override
public
void
doFilter
(
ServletRequest
request
,
ServletResponse
response
,
FilterChain
chain
)
throws
IOException
,
ServletException
{
HttpServletResponse
httpResponse
=
(
HttpServletResponse
)
response
;
String
[]
allowDomain
=
{
"http://localhost:8080"
,
"http://192.168.0.98:11072"
,
"http://123.16.12.23:8080"
};
Set
allowedOrigins
=
new
HashSet
(
Arrays
.
asList
(
allowDomain
));
String
originHeader
=((
HttpServletRequest
)
request
).
getHeader
(
"Origin"
);
if
(
allowedOrigins
.
contains
(
originHeader
)){
httpResponse
.
setHeader
(
"Access-Control-Allow-Origin"
,
originHeader
);
httpResponse
.
setContentType
(
"application/json;charset=UTF-8"
);
httpResponse
.
setHeader
(
"Access-Control-Allow-Methods"
,
"POST, GET, OPTIONS, DELETE"
);
httpResponse
.
setHeader
(
"Access-Control-Max-Age"
,
"3600"
);
httpResponse
.
setHeader
(
"Access-Control-Allow-Headers"
,
"Content-Type,Access-Token"
);
// 如果要把Cookie发到服务器,需要指定Access-Control-Allow-Credentials字段为true
httpResponse
.
setHeader
(
"Access-Control-Allow-Credentials"
,
"true"
);
httpResponse
.
setHeader
(
"Access-Control-Expose-Headers"
,
"*"
);
}
chain
.
doFilter
(
request
,
response
);
}
@Override
public
void
init
(
FilterConfig
filterConfig
)
throws
ServletException
{}
@Override
public
void
destroy
()
{}
}
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