CORS'te yeniyim ve tarayıcı tarafından gönderilen OPTIONS ön kontrol isteğinin kullanıcı kimlik bilgilerini içermediğini öğrendim. Filtreyi (httpd.conf içinde) OPTIONS isteklerine farklı yanıt vermek için, yani kimlik doğrulamasını atlatmak için nasıl alabilirim?CORS - Apache'nin httpd.conf dosyasında OPTIONS ön kontrol talebi için kimlik doğrulamasını nasıl yok saymayı nasıl önleyebiliriz?
Bu benim şimdiki yapılandırma:
<LocationMatch /api>
SetEnvIfNoCase Origin "https://(www\.)?(domain1\.com|domain2\.com)(:\d+)?$" AccessControlAllowOrigin=$0
Header set Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials "true"
Header set Access-Control-Allow-Methods "GET,POST,DELETE,OPTIONS"
Header set Access-Control-Allow-Headers "Accept, Authorization, Origin, Content-Type"
AuthFormProvider ldap
AuthLDAPURL "ldap://localhost:10889/ou=Users,dc=work,dc=com?uid"
AuthLDAPGroupAttribute member
AuthLDAPGroupAttributeIsDN on
Require valid-user
ErrorDocument 401 /login.html
ErrorDocument 500 /error.html
AuthType form
AuthName realm
Session On
SessionMaxAge 1800
SessionDBDCookieName session path=/
ProxyPass http://localhost:8080 timeout=31536000
AuthFormFakeBasicAuth On
</LocationMatch>
Ve istekte javascript: Ben follwoing ama hiçbir şans ile denedim
$.ajax({
type : "DELETE",
url : "https://www.domain1.com/api",
xhrFields: {
withCredentials: true,
},
success : function(data){
},
});
:
(a)
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L,E=HTTP_ORIGIN:%{HTTP:ORIGIN}]
(b)
<Limit OPTIONS>
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Credentials "false"
Header always set Access-Control-Allow-Headers "Accept, Authorization, Origin, Content-Type"
Header always set Access-Control-Allow-Methods "GET,POST,DELETE,OPTIONS,PUT"
</Limit>
(c)
<Limit OPTIONS>
Allow for all
</Limit>
(d)
SetEnvIfNoCase Request_Method OPTIONS allowed
bir fikrin? Lütfen yardım et !
Burada _is_ ilk olarak yer imi gerektiren yapılandırmanın parçası nedir? – CBroe
'Herkes için izin ver 'yerine _FROM_ olmalı ve' SATISFY ANY 'ile birleştirmeniz gerekecek, böylece" İZİN "yönergesi veya" REQUIRE "seçeneği" OPTIONS "isteği için geçerlidir. – CBroe
Teşekkürler ama yine de 401 Yetkisiz. – user3802087