2009-04-27 7 views
5

Ist es möglich, Anmeldeinformationen mit AJAX an einen Webserver zu übergeben, der die www-Authentifizierung anfordert?Handle www-Authentifizierung Anfrage mit Ajax?

Ich möchte mich bei einer Website einloggen, die .NET Bsic www-authentication verwendet, und die Anmeldeinformationen mit Ajax übergeben. Beim Besuch des Servers mit einem Browser fordert der Browser den Benutzer mit einem Authentifizierungs-/Anmeldefenster auf.

HTML-Header enthält diese:

WWW-Authenticate: Basic 
realm="hosting.xp" 
MicrosoftSharePointTeamServices: 6.0.2.6568 
X-Powered-By: ASP.NET 

Ich will ‚hinter den Kulissen‘ auf die Website zugreifen, indem sie von einem Ajax-Objekt aufgerufen wird, aber ich bin nicht sicher, wie die HTTP-Header, um Anfragen bearbeiten die Authentifizierung.

Ich würde den Ajax-Aufruf gerne in einem bestimmten Benutzer führen (die Cookie-Gruppe) protokolliert wird, so dass der Benutzer später auf die Website procedd kann und sein ‚schon‘ angemeldet.

kann dies geschehen in der Weise, die ich hier beschreibe?

Antwort

5

Sie den Benutzernamen und das Passwort in der URL wie so passieren kann:

http://username:[email protected]/secure

Hier ist ein Beispiel mit jQuery:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $('a.logMeIn').click(function(){ 
     $.get('http://username:[email protected]/secure', null, function(response) { 
      alert(response); 
     }); 
    }); 
}); 

</script> 

<a href="#" class="logMeIn">Log me in!</a> 
+0

Dieses Problem darstellen würde, wenn das Passwort etwas anderes hat als alphanumerische Zeichen drin ... wie würdest du das umgehen? –

0

Bei der http-Authentifizierung sind keine Cookies erforderlich, die Anmeldedaten werden vom Browser oder in Ihrem Fall für die erste Anfrage von Ihrem JavaScript-Status gespeichert.