3.9K Star 18.4K Fork 5.3K

卓源软件 / JeeSite 4.x and 5.x

 / 详情

前端接口调用 跨域问题

已完成
创建于  
2021-04-20 11:21

shiro已去掉注释,功能已开启,前端调用接口还是有跨域问题,还有其他环节需要处理吗?

输入图片说明

评论 (4)

Z.O.E 创建了任务
Z.O.E 关联仓库设置为卓源软件/JeeSite 4.2
展开全部操作日志

贴出你的错误信息,确认有没有生效,看请求地址的响应头

这是错误信息:
输入图片说明

yml设置:
输入图片说明

我自己在Application加入以下代码,不再报错。但是感觉方案不优雅,本身系统自带的有,问题不知出在哪里?

    public class crosFilter implements Filter {
        @Override
        public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
            HttpServletRequest request = (HttpServletRequest) req;
            HttpServletResponse response = (HttpServletResponse) resp;
            response.setHeader("Access-control-Allow-Origin", request.getHeader("Origin"));
            response.setHeader("Access-Control-Allow-Credentials", "true");
            response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers"));
            response.addHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
            if ("OPTIONS".equals(request.getMethod())) {
                response.setStatus(HttpStatus.NO_CONTENT.value());
                return;
            } else {
                chain.doFilter(request, response);
            }
        }
    }

    @Bean
    public FilterRegistrationBean replaceTokenFilter() {
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setDispatcherTypes(DispatcherType.REQUEST);
        registration.setFilter(new crosFilter());
        registration.addUrlPatterns("/*");
        registration.setName("crosFilter ");
        registration.setOrder(1);
        return registration;
    }

这个问题解决了吗?

卓源软件 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(3)
6732 thinkgem 1651893329
Java
1
https://gitee.com/thinkgem/jeesite4.git
git@gitee.com:thinkgem/jeesite4.git
thinkgem
jeesite4
JeeSite 4.x and 5.x

搜索帮助