>  기사  >  Java  >  여러 도메인 이름의 액세스를 허용하도록 Java에서 Access-Control-Allow-Origin을 구성하는 방법입니다.

여러 도메인 이름의 액세스를 허용하도록 Java에서 Access-Control-Allow-Origin을 구성하는 방법입니다.

王林
王林앞으로
2023-05-09 08:58:072778검색

프런트엔드와 백엔드를 분리하는 프로젝트에서는 필연적으로 크로스 도메인 문제가 발생합니다. 크로스 도메인 문제를 설정할 때 주의해야 할 사항이 많습니다. 예를 들어 이번에는 Access-Control-을 설정하겠습니다. Allow-Origin은 여러 도메인 이름 요청을 허용합니다.

(1) 여러 도메인 이름에 대한 접근을 허용하도록 설정하는 가장 간단한 방법은 와일드카드를 사용하는 것이지만 이 방법은 모든 도메인 이름에 접근을 허용하므로 안전하지 않으며 브라우저는 이런 방식으로 쿠키 정보를 전달할 수 없습니다( 쿠키정보를 가지고 있는 경우에는 아래의 두 번째 방법과 같이 실제 도메인 이름만 사용할 수 있습니다. 이 방법은 쿠키 정보 없이 개발 중인 테스트에만 권장됩니다. 코드는 다음과 같습니다.

 rep.setHeader("Access-Control-Allow-Origin", "*");

(2) 배열 필터링 사용

@Override
 public void doFilter(ServletRequest request, ServletResponse response,
       FilterChain chain) throws IOException, ServletException {
  HttpServletRequest req = (HttpServletRequest) request;
  HttpServletResponse rep = (HttpServletResponse) response;
  // 设置允许多个域名请求
  String[] allowDomains = {"http://www.toheart.xin","http://192.168.11.213:8080","http://localhost:8080"};
  Set allowOrigins = new HashSet(Arrays.asList(allowDomains));
  String originHeads = req.getHeader("Origin");
  if(allowOrigins.contains(originHeads)){
   //设置允许跨域的配置
   // 这里填写你允许进行跨域的主机ip(正式上线时可以动态配置具体允许的域名和IP)
   rep.setHeader("Access-Control-Allow-Origin", originHeads);
  }

위 내용은 여러 도메인 이름의 액세스를 허용하도록 Java에서 Access-Control-Allow-Origin을 구성하는 방법입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제