Como fazer uma solicitação GET CORS com cabeçalho de autorização

Eu estava lendo sobre solicitações CORS e consegui fazer solicitações regulares GET ou POST e funciona bem. Porém, quando adiciono um cabeçalho de autorização a uma solicitação GET ou POST, a solicitação OPTIONS de comprovação é enviada ao servidor e recebo 500 ERRO DE SERVIDOR INTERNO, e a solicitação real não é enviada. Minha pergunta é como o preflight realmente funciona e que resposta é necessária para enviar a solicitação principal? E é possível enviá-lo sem o preflight, porque tenho certeza de que funcionaria? O serve-rside é escrito no Django 1.6 e tem ACCESS-ALLOW-ORIGIN definido como *, e funciona com postagens regulares e solicitações de obtenção.

Este é o meu código JS:

 $.ajax({
  type: "GET",
  url: "http://url/login/",
  async:false,
  contentType: "application/json",
  headers: {
    "Authorization": "Basic " + btoa(loginName + ':' + password),       
  },
  success: function (data) {
    alert("OK!");
  },
  failure: function(errMsg) {
    alert(errMsg);
  }
});

Estes são os cabeçalhos do Chrome DevTools quando a solicitação é executada: Cabeçalhos da solicitação:

OPTIONS /login/ HTTP/1.1
Host: url
Connection: keep-alive
Access-Control-Request-Method: GET
Origin: null
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)     Chrome/36.0.1985.125 Safari/537.36
Access-Control-Request-Headers: accept, authorization, content-type
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,hr;q=0.6,sr;q=0.4

Cabeçalhos de resposta:

HTTP/1.1 500 INTERNAL SERVER ERROR
Date: Thu, 31 Jul 2014 16:15:19 GMT
Server: Apache/2.2.15 (CentOS)
X-Frame-Options: SAMEORIGIN
Access-Control-Allow-Origin: *
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

questionAnswers(1)

yourAnswerToTheQuestion