Omijanie uwierzytelniania dla „Żądania opcji” (więc wszystkie nagłówki są wysyłane w odpowiedzi)

Jest to w kontekście współdzielenia zasobów między źródłami. W przypadku żądania inspekcji wstępnej serwer nie wysyła zestawu nagłówków. Gdy prawidłowy plik cookie nie zostanie przekazany wraz z „Żądaniem opcji”, serwer w swojej odpowiedzi nie wysyła nagłówków, które ustawiłem, jednak wysyła „200 OK”. Sprawdziłem to za pomocą curl, jak widać poniżej (oczywiście, zastąpiłem mój ważny plik cookie fikcją „xyzabcde” tutaj)

Żądanie curl BEZ ciasteczka:

curl -H "Origin: app2_url"   -H "Access-Control-Request-Method: POST"   -H "Access-Control-Request-Headers: accept, origin, content-type"   -X OPTIONS --verbose   app1_url/jsonrpc.cgi

(wysyła poniżej odpowiedź ...)

HTTP/1.1 200 OK
Date: Tue, 01 Oct 2013 11:37:36 GMT
Server: Apache
Expires: Tue, 01 Oct 2013 11:37:36 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Expires: Tue, 01 Oct 2013 11:37:36 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Content-Length: 4531
Content-Type: text/html; charset=utf-8

z „-H Cookie: xyzabcde”:

curl -H "Origin: app2_url"   -H "Access-Control-Request-Method: POST"   -H "Access-Control-Request-Headers: accept, origin, content-type" "-H Cookie:xyzabcde"  -X OPTIONS --verbose   app1_url/jsonrpc.cgi

(wysyła poniżej odpowiedź ...)

HTTP/1.1 403 Forbidden
Date: Wed, 02 Oct 2013 18:48:34 GMT
Server: Apache
X-frame-options: ALLOW-FROM app2_url
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: accept, origin, content-type, Man, Messagetype, Soapaction, X-Requested-With
Access-Control-Allow-Methods: GET, POST, HEAD, PUT, OPTIONS
Access-Control-Allow-Origin: app2_url
Access-Control-Max-Age: 1800
Transfer-Encoding: chunked
Content-Type: application/json; charset=UTF-8

Konfiguracja apache wygląda jak ...

<VirtualHost *:443>
.
.
Header always set X-Frame-Options "ALLOW-FROM app2_url"
Header  always set  Access-Control-Allow-Credentials "true"
Header  always set  Access-Control-Allow-Headers    "accept, origin, content-type, Man, Messagetype, Soapaction, X-Requested-With"
Header  always set  Access-Control-Allow-Methods    "GET, POST, HEAD, PUT, OPTIONS"
Header  always set  Access-Control-Allow-Origin    "app2_url"
Header  always set  Access-Control-Max-Age  "1800"
.
.
.
<Directory /app1/dir/>      
    Options Includes FollowSymLinks ExecCGI MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    AuthType Net
    PubcookieInactiveExpire -1
    PubcookieAppID app1.company.com
    require valid-user
</Directory>
.
.
</VirtualHost>

Jak mogę wysłać wszystkie nagłówki w odpowiedzi na nieuwierzytelnione żądania? Domyślam się, że żądania opcji nie powinny wymagać uwierzytelnienia.

questionAnswers(1)

yourAnswerToTheQuestion