最近做的一个项目,形式是前后端分离的,那么就会产生跨域资源访问的问题,在这个项目中我们使用的是CORS-FILTER解决这个问题的,使用起来很简单,下面我会粘出一篇详细介绍cors-filter的文章,
CORS原理,主要包含两方面:
1,
从浏览器脚本放面:通过严格控制交换数据的类型来允许跨域请求。除非是由XHR作者发起的特定请求,且允许跨域web服务,否则 Cookies等数据将被锁。如此就减轻了数据泄露的风险。
2,从web Service的方法:通过利用浏览器报告的源URL,目标跨域web Service能够基于自己的源策略确定是否允许还是拒绝本次请求。
项目当中实际使用:
1,先在web.xml中引入如下配置:
<!-- 加入跨域过滤器配置 --> <filter> <filter-name>CORS</filter-name> <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> <init-param> <param-name>cors.allowOrigin</param-name> <param-value>*</param-value> </init-param> <init-param> <param-name>cors.supportedMethods</param-name> <param-value>GET, POST, HEAD, PUT, DELETE</param-value> </init-param> <init-param> <param-name>cors.supportedHeaders</param-name> <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value> </init-param> <init-param> <param-name>cors.exposedHeaders</param-name> <param-value>Set-Cookie</param-value> </init-param> <init-param> <param-name>cors.supportsCredentials</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CORS</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
2,在pom文件中引入如下maven的坐标:
<dependency> <groupId>com.thetransactioncompany</groupId> <artifactId>cors-filter</artifactId> <version>2.6</version> </dependency>
3,就是这么的任性,ok了,下面这个连接有cors-fiter原理及由来的一个详细的介绍,
https://blog.csdn.net/xiaofeixiaqing/article/details/51250401