场景及问题描述:
项目为前后端分离,后台项目使用Spring Boot框架整合了CAS Client。前端发起ajax请求到CAS Client,被CAS Filter拦截器重定向到CAS Server,出现CORS跨域问题 。
错误信息:
Chrome F12完整错误信息:
Failed to load [CAS client地址]: Redirect from '[CAS client地址]' to '[CAS server地址]' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '[前端地址]' is therefore not allowed access.
Chrome F12关键错误信息:
No 'Access-Control-Allow-Origin' header is present on the requested resource
解决方案:
1、CAS Client中定义一个跨域Filter,注意:跨域Filter优先级必须要高于CAS FIlter,否则请求会先被CAS Filter先行执行,加跨域Filter则无意义。这里优先级设定为@Order(value=0),高于CAS FIlter。
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.

本文描述了一个前后端分离项目中,使用Spring Boot集成CAS Client时遇到的CORS跨域问题。当前端发起AJAX请求时,被CAS Filter重定向至CAS Server,导致跨域错误。解决方案包括在CAS Client端定义高优先级的跨域Filter,并在CAS Server的web.xml中配置跨域Filter。若仅配置客户端,请求会失败。文中还引用了相关CORS原理文章。
最低0.47元/天 解锁文章
775

被折叠的 条评论
为什么被折叠?



