Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring ';访问控制允许原点';标题包含多个值-角度2&;春季MVC_Spring_Angular_Spring Mvc_Filter_Cors - Fatal编程技术网

Spring ';访问控制允许原点';标题包含多个值-角度2&;春季MVC

Spring ';访问控制允许原点';标题包含多个值-角度2&;春季MVC,spring,angular,spring-mvc,filter,cors,Spring,Angular,Spring Mvc,Filter,Cors,我在多个angular客户端上工作,这些客户端使用相同的Restful API,来自不同的域名,我在服务器端进行了配置,当只有一个客户端时,它就工作了,但是在调整了CorsFilter组件之后,我的angular客户端抛出了这个消息 访问控制允许来源标题包含多个值 public class CorsFilter implements Filter { public CorsFilter() { } @Override p

我在多个angular客户端上工作,这些客户端使用相同的Restful API,来自不同的域名,我在服务器端进行了配置,当只有一个客户端时,它就工作了,但是在调整了CorsFilter组件之后,我的angular客户端抛出了这个消息

访问控制允许来源标题包含多个值

    public class CorsFilter implements Filter {

        public CorsFilter() {
        }

        @Override
        public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
                throws IOException, ServletException {

            HttpServletResponse httpResponse = (HttpServletResponse) res;

            httpResponse.setHeader("Access-Control-Allow-Origin", "http://localhost:5200, http://localhost:4200");
            httpResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");
            httpResponse.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
            httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
            httpResponse.setHeader("Access-Control-Max-Age", "4800");

            chain.doFilter(req, res);
        }

        @Override
        public void destroy() {
        }

        @Override
        public void init(FilterConfig arg0) throws ServletException {
        }

    }
来自angular 2服务的Ajax调用

  login(form) {
    var objectToSend = "j_username="+form.j_username+"&j_password="+form.j_password;
    let headers = new Headers(
      {
        'Content-Type': 'application/x-www-form-urlencoded' ,
      }
    );
    let options = new RequestOptions({ headers: headers ,withCredentials : true});
    return this.http.post('http://localhost:8080/**/authenticate', objectToSend,options)
      .map((res) => res)
      .catch((error:any) => Observable.throw(error.text() || 'Server error' ));
  }

一段时间前我被告知允许原产地只接受一个原产地。尝试使用
*
?我正在尝试为两个地址配置访问权限,但不是所有人。正如我告诉过你的,我认为Allow Origin只接受一个来源。没有其他选择吗?