-
Spring Boot 服务 跨越访问策略
-
什么是 CORS
- 指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略所造成的,是浏览器对于JavaScript所定义的安全限制策略
- 如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容,如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。
-
跨域的解决方案 - 前端的解决方案
- 使用JSONP方式实现跨域调用;
- 使用NodeJS服务器做为服务代理,前端发起请求到NodeJS服务器, NodeJS服务器代理转发请求到后端服务器;
- 设置浏览器允许跨域访问,如Chrome浏览器设置–disable-web-security属性, 该方案仅适用于开发环境 下的开发调试
-
跨域的解决方案 - 后端的解决方案 :以 Spring Boot 跨越配置 为例
-
使用Filter设置服务端返回的Response Header 的Access-Control-Allow-Origin属性,允许跨域访问
@WebFilter public class CorsFilter implements Filter { // 日志对象 private static Logger logger = LoggerFactory.getLogger(CorsFilter.class); @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"
-
-
Spring Boot 服务 跨越访问策略
最新推荐文章于 2024-04-03 09:40:31 发布