0
votes

Le ressort ne se connecte pas avec le contrôle du cache de champ d'en-tête de défilement angulaire.

J'ai créé l'application suivante en angular avec Backend Java au printemps. Quand je vais me connecter, j'obtiens l'erreur suivante et je ne peux pas comprendre pourquoi

accès à xmlhttprequest à http://127.0.0.1:8080/API/oauth/Token?USERName=Admin&password=secret&grant_type=password de l'origine http: // localhost: 4200 a été bloqué par la stratégie CORS: Demander le cache de champ d'en-tête de demande n'est pas autorisé par Access-Control-Autoriser les en-têtes de la réponse en amont.

Quelqu'un voudrait-il savoir comment m'aider à résoudre? Ce sera sûrement un non-sens, mais je perds beaucoup de temps sans résultats

merci tous

https://github.com/rox-ale/angular-login


0 commentaires

4 Réponses :


0
votes

Je pense que le problème est que vous n'avez que CORS activé uniquement dans le contrôleur à l'aide de l'annotation @crossorigin. Je pense que la configuration supplémentaire est requise dans votre classe Loginconfig xxx

pour référence: https://docs.spring.io/spring-security/site/docs/5.0.x/reference/html/cors.html


0 commentaires

0
votes

Je vous recommanderais d'utiliser le proxy pour vos appels vers l'API, c'est le moyen facile de contourner les exceptions de CORS. Vous pouvez utiliser cette méthode même si vous n'avez pas accès au serveur. ici est le guide Comment configurer le proxy dans Angulaire


0 commentaires

0
votes

Dans votre Connexion CODE> Méthode où vous construisez les en-têtes avec

  let headers = new Headers(
    {
      'Content-Type': 'application/x-www-form-urlencoded',
      'Authorization': auth
    });


0 commentaires

0
votes

Le problème est que le filtre d'OAuth est avant le filtre Cors sur filtre à la machine. Une solution de contournement consiste à ajouter votre filtre Cors personnalisé et à définir la commande sur la plus haute_pecédence.

Quelque chose comme ça: xxx


0 commentaires