Maison >Java >javaDidacticiel >Comment configurer Access-Control-Allow-Origin en Java pour autoriser l'accès à partir de plusieurs noms de domaine.

Comment configurer Access-Control-Allow-Origin en Java pour autoriser l'accès à partir de plusieurs noms de domaine.

王林
王林avant
2023-05-09 08:58:072852parcourir

Il est inévitable que les projets avec séparation front-end et back-end rencontrent des problèmes inter-domaines. Il y a beaucoup de choses auxquelles il faut prêter attention lors de la configuration de problèmes inter-domaines. définira Access-Control-Allow-Origin pour l'autoriser à plusieurs demandes de nom de domaine.

(1) Le moyen le plus simple de configurer l'accès à plusieurs noms de domaine est d'utiliser des caractères génériques, mais cette méthode permet d'accéder à tous les noms de domaine, ce qui n'est pas sûr, et le navigateur ne peut pas transporter d'informations sur les cookies. de cette manière (seuls les vrais noms de domaine peuvent être utilisés pour transporter des informations sur les cookies, comme indiqué dans la deuxième méthode ci-dessous). Cette méthode n'est recommandée que pour les tests en développement sans informations sur les cookies. Le code est le suivant :

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

(2) Utilisation du filtrage de tableau

@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);
  }

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer