Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cash-loan-flow-boss
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
胡慧
cash-loan-flow-boss
Commits
154495e9
Commit
154495e9
authored
Jan 08, 2020
by
suntao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
跨域问题
parent
2a4ff80a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
0 deletions
+14
-0
CorsFilter.java
...p/cashloanflowboss/core/configuration/web/CorsFilter.java
+14
-0
No files found.
src/main/java/cn/quantgroup/cashloanflowboss/core/configuration/web/CorsFilter.java
View file @
154495e9
package
cn
.
quantgroup
.
cashloanflowboss
.
core
.
configuration
.
web
;
import
lombok.extern.slf4j.Slf4j
;
import
javax.servlet.*
;
import
javax.servlet.annotation.WebFilter
;
import
javax.servlet.http.HttpServletRequest
;
...
...
@@ -11,6 +13,7 @@ import java.io.IOException;
* @author:tao
* @create: 2020-01-06 18:50
*/
@Slf4j
@WebFilter
(
urlPatterns
=
"/*"
,
filterName
=
"CORSFilter"
)
public
class
CorsFilter
implements
Filter
{
...
...
@@ -24,12 +27,23 @@ public class CorsFilter implements Filter {
public
void
doFilter
(
ServletRequest
servletRequest
,
ServletResponse
servletResponse
,
FilterChain
filterChain
)
throws
IOException
,
ServletException
{
HttpServletRequest
req
=
(
HttpServletRequest
)
servletRequest
;
HttpServletResponse
resp
=
(
HttpServletResponse
)
servletResponse
;
log
.
info
(
"CORSFilter"
);
String
origin
=
req
.
getHeader
(
"Origin"
);
if
(
origin
==
null
)
{
origin
=
req
.
getHeader
(
"Referer"
);
}
resp
.
setHeader
(
"Access-Control-Allow-Origin"
,
origin
);
//这里不能写*,*代表接受所有域名访问,如写*则下面一行代码无效。谨记
resp
.
setHeader
(
"Access-Control-Allow-Credentials"
,
"true"
);
//true代表允许携带cookie
//允许请求的类型
resp
.
setHeader
(
"Access-Control-Allow-Methods"
,
"GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH"
);
//允许的请求头字段
resp
.
setHeader
(
"Access-Control-Allow-Headers"
,
"Origin, X-Requested-With, Content-Type, Accept"
);
//设置预检请求的有效期
//浏览器同源策略:出于安全考虑,浏览器限制跨域的http请求。怎样限制呢?通过发送两次请求:预检请求、用户请求。
//1、预检请求作用:获知服务器是否允许该跨域请求:如果允许,才发起第二次真实的请求;如果不允许,则拦截第二次请求
//2、单位:s,在此期间不用发送预检请求。
//3、若为0:表示每次请求都发送预检请求,每个ajax请求之前都会先发送预检请求。
resp
.
setHeader
(
"Access-Control-Max-Age"
,
"3600"
);
filterChain
.
doFilter
(
servletRequest
,
servletResponse
);
}
...
...
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