Jouer Cadre 2.3 - SCRO-Têtes
Mise à JOUR la nouvelle pièce de 2,5 propose une nouvelle CORS du Filtre
Que la nouvelle 2.3 version de Java terminé la migration de la classe de Réponse à la Promesse de la classe, le code suivant ne fonctionne plus.
public class CorsAction extends Action.Simple {
public Result call(Context context) throws Throwable{
Response response = context.response();
response.setHeader("Access-Control-Allow-Origin", "*");
//Handle preflight requests
if(context.request().method().equals("OPTIONS")) {
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content- Type, Accept, Authorization, X-Auth-Token");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Origin", "*");
return ok()
}
response.setHeader("Access-Control-Allow-Headers","X-Requested-With, Content-Type, X- Auth-Token");
return delegate.call(context);
}
}
Je développe une application en Jeu (Java) 2.3 et j'ai regardé et essayé différentes méthodes pour activer la SCRO -y compris l'ajout /OPTIONS des méthodes pour le fichier de routes - sans succès.
J'aimerais beaucoup avoir un peu de lumière sur le fonctionnement de la Réponse mise en œuvre serait en mesure de gérer ce type d'interception, parce qu'il semble ne pas avoir d'effets dans les en-têtes lors de la mise en œuvre de la nouvelle Promesse de la classe.
Merci d'avance pour toute l'aide!!
- Je l'ai résolu en utilisant ce grand blog et ceci précédent answer. Plus de détails lien
Vous devez vous connecter pour publier un commentaire.
Résolu ce problème en:
Toutes les API réponses du serveur doit contenir un en-tête: “Access-Control-Allow-Origin”, “*”. Nous avons besoin d'écrire un wrapper pour toutes les réponses du plan d'action.
Dans Global.java
Serveur de requêtes comme POST, PUT faire un contrôle en amont demande au serveur avant de la requête principale. La réponse de contrôle en amont pour ces demandes doivent contenir ci-dessous des en-têtes:
“Access-Control-Allow-Origin”, “”
“Permettre”, “”
“Access-Control-Allow-Méthodes”, “POST, GET, PUT, DELETE, les OPTIONS”
“Access-Control-Allow-Les En-Têtes”, “Origine", " X-Requested-With, Content-Type, D'Accepter, De Referer, User-Agent”
Dans les itinéraires ajouter:
En Application Coltroller:
PS: Par cette approche, je n'ai pas eu à créer un scala filtre pour ce.
Il semble que vous pouvez avoir résolu votre problème, mais juste pour des raisons de clarté...
Vous êtes assez proche...je crois que vous n'avez pas besoin d'instancier votre propre objet de Réponse, vous pouvez simplement appeler l'on est passé par l'intermédiaire d'une méthode:
Espère que ça aide.
De la croix-poste de enable-scro-en-java-jeu-cadre-2-2-x.
Les solutions proposées par @alexhanschke ne fonctionne pas lorsque la demande déclenche une exception (erreur interne du serveur), comme les filtres ne sont pas appliquées lorsque cela se produit (voir https://github.com/playframework/playframework/issues/2429). Pour résoudre ce que vous avez à envelopper un scala de classe et de retour que comme un résultat, comme illustré ci-dessous dans son intégralité. Veuillez noter que cela nécessite encore les options de l'itinéraire spécifié et un contrôleur pour gérer la demande options.
Voir en entier ici https://gist.github.com/tinusn/38c4c110f7cd1e1ec63f.
Cela a fonctionné pour moi. Toutefois, vous devrez peut-être modifier certains paramètres(application.conf)
Étape 1
Créer des filtres de classe(UrlFilter)
Étape 2
filtres d'importation du package dans construire.sbt
Étape 3
Inscrire l'UrlFilter classe dans application.conf
REMARQUE: n'oubliez pas de point à son emplacement exact. La mienne était en app/filters/UrlFilter.java
Étape 4
Ajouter les configurations qui permettent de "contrôle d'accès permettent à l'origine" et beaucoup plus. À la application.conf
De crédit
https://www.playframework.com/documentation/2.5.x/CorsFilter
https://www.playframework.com/documentation/2.5.x/resources/confs/filters-helpers/reference.conf
pour moi de configuration de travail dans chrome, firefox et explorer :
Jouer Cadre de la SCRO-Têtes