Quelqu'un pourrait-il m'aider, convertir le code suivant pour l'utiliser dans le web.config dans IIS 7.5 et où dans le fichier web.config je devrais placer chaque morceau de code?
# Always set these headers.
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, Origin, authorization, accept, client-security-token"
# Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request.
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
Si vous demandez cela pour résoudre le problème [~ # ~] cors [~ # ~] , vous pouvez suivre cette solution ci-dessous.
REMARQUE: Avant d'ajouter tout cela, vous devez considérer les problèmes de sécurité.
Ajoutez ceci à votre fichier web.config:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, HEAD, OPTIONS" />
<add name="Access-Control-Allow-Credentials" value="true"/>
<add name="Access-Control-Allow-Headers" value="X-Requested-With, Origin, content-type, accept" />
</customHeaders>
</httpProtocol>
</system.webServer>
Si vous avez un paramètre Content-type dans votre appel ajax ou si vous faites une demande PUT, ceux-ci sont considérés comme PreFlight requêtes.Les requêtes en amont font [~ # ~] option [~ # ~] demande avant d'envoyer la requête principale ( PUT, DELETE, etc.) .Vous pouvez ajouter la méthode ci-dessous à votre fichier global.asax pour passer avec succès le processus OPTION:
protected void Application_BeginRequest()
{
if (Request.Headers.AllKeys.Contains("Origin") && Request.HttpMethod == "OPTIONS")
{
Response.Flush();
}
}
Pour avoir plus d'informations sur les demandes de contrôle en amont, vous pouvez vérifier ici
Pour la solution numéro 2, vous pouvez obtenir des informations détaillées de ici