2009-04-27 5 views
5

Est-il possible de transmettre des informations d'identification en utilisant AJAX à un serveur Web qui demande l'authentification www? Je souhaite me connecter à un site Web qui utilise l'authentification www .NET Bsic et transmettre les informations d'identification à l'aide d'ajax. Lors de la visite du serveur avec un navigateur, le navigateur demande à l'utilisateur une fenêtre d'authentification/de connexion.Gérer la requête d'authentification www en utilisant ajax?

L'en-tête html contient ceci:

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

Je veux accéder au site « dans les coulisses » en l'appelant à partir d'un objet ajax, mais je ne suis pas sûr de savoir comment gérer l'en-tête http que les demandes l'authentification.

Je voudrais l'appel ajax entraîner un utilisateur spécifique étant connecté (l'ensemble des cookies) afin que l'utilisateur peut procedd sur le site plus tard et être « déjà » connecté.

cela peut-il être fait de la façon dont je décris ici?

Répondre

5

Vous pouvez passer le nom d'utilisateur et mot de passe dans l'URL comme ceci:

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

Voici un exemple avec 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

Cela poserait un problème si le mot de passe a autre chose que caractères alphanumériques à l'intérieur ... comment voulez-vous contourner cela? –

0

Avec l'authentification http, les cookies ne sont pas nécessaires, les informations d'identification sont conservées par le navigateur, ou dans votre cas pour la demande initiale, par votre état javascript.

Questions connexes