2011-07-26 1 views
1

Mod-Auth-SSPI가 내 ajax 시스템과 충돌한다고 생각합니다. 아래 코드를 찾으십시오 -sspi 모듈이 ajax와 충돌합니까? 그것을 해결하는 방법?

new Ajax.Request(ajaxUrl, 
{ 
    method:'post', 
    parameters: 'json='+json, 
    onSuccess: 
    function(transport) 
    { 
    if (transport.responseText.isJSON())  
    displayInfo(transport.responseText.evalJSON(true)); // error occurs  
    else  
    alert('Damn! It's not working...'); 
    }, 
    onFailure: 
    function() 
    { 
     alert(mateErrAjaxUrl) 
    } 
}); 

항상 경고 ('젠장! 작동하지 않습니다 ...')가 반환됩니다. 즉, displayInfo가 작동하지 않거나 무언가와 충돌합니다. 아무도 그것을 해결하는 방법을 말해 줄 수 있습니까?

Mod-Auth-SSPI가 내 필요에 따라 올바르게 작동한다는 점에 유의하십시오.

+0

응답이 유효한 Json인지 확인 했습니까? – toopay

답변

1

저는 Ajax와 Internet Explorer (v6과 8)에서 비슷한 문제가있었습니다. 네트워크 트래픽을 보면 IE가 NTLM 인증을 트리거하는 빈 POST 요청 (content-length : 0)을 보내고 전신과 함께 올바른 POST를 보내는 것으로 시작한다는 것을 알 수 있습니다.

IE가 Apache/mod_auth_sspi에 이미 설정된 TCP/IP 연결을 사용할 때 버그가 발생합니다. 기본 설정을 사용하면 연결이 인증 되었기 때문에 mod_auth_sspi는 빈 POST 요청을 통과시킵니다. 그리고 당신의 앱은 빈 POST 요청을받습니다.
http://wiki.apache.org/httpd/ModAuthSSPI
(이 글을 쓰는 시점에서, mod_auth_sspi의 소스에서/문서 불행히도하지 : 솔루션의

하나는 여기에 말했듯이, 아파치 설정의 명령 'SSPIPerRequestAuth에'를 추가하는 것입니다 최신)

다른 mod_sspi 설치에서는 'MaxKeepAliveRequests 2'와 'KeepAliveTimeout 1'을 추가하는 것이 더럽지 만 도움이 될 수 있습니다.