部署方式
spring boot 单独部署在一个tomcat中 端口号8090
vue 单独部署在另外一个tomcat中端口号 80;
导致跨域问题 ,接口无法访问
解决方案:(可能仅仅适用于我目前的这种方式spring boot + shiro + mybtis + vue)
参考:https://blog.csdn.net/weixin_42364816/article/details/86243337(感谢作者)
完全采用作者中的方式未能解决,在作者的基础上添加了一些信息
1.全部拷贝作者文中的方法
session过期后页面跳转问题
重写FormAuthenticationFilter类的onAccessDenied()方法,该方法是作为认证不通过时session的authc过滤器,如果跨域情况下:
@Override protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws IOException { HttpServletResponse httpResp = WebUtils.toHttp(response); HttpServletRequest httpReq = WebUtils.toHttp(request); /*系统重定向会默认把请求头清空,这里通过拦截器重新设置请求头,解决跨域问题*/ httpResp.addHeader("Access-Control-Allow-Origin