2009-04-27 15 views
5

¿Es posible pasar credenciales usando AJAX a un servidor web que solicita autenticación de www?¿Manejar solicitud de autenticación de www usando ajax?

Quiero iniciar sesión en un sitio web que usa .NET Bsic www-authentication, y paso las credenciales usando ajax. Al visitar el servidor con un navegador, el navegador solicita al usuario una ventana de autenticación/inicio de sesión.

La cabecera HTML contiene esto:

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

Quiero acceder al sitio 'entre bastidores' llamando desde un objeto Ajax, pero no estoy seguro de cómo manejar la cabecera HTTP que las solicitudes la autenticacion

Me gustaría que la llamada AJAX para dar lugar a un usuario específico que se haya identificado (el conjunto de cookies), de modo que el usuario puede procedd al sitio más adelante y ser 'ya' cerrar sesión.

se puede hacer esto en la forma que describo aquí?

Respuesta

5

Puede pasar el nombre de usuario y contraseña en la URL de esta manera:

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

He aquí un ejemplo con 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

Esto sería un problema si la contraseña tiene algo distinto caracteres alfanuméricos en él ... ¿cómo solucionarías eso? –

0

Con la autenticación http no hay necesidad de cookies, las credenciales son guardadas por el navegador, o en su caso para la solicitud inicial, por su estado de javascript.

Cuestiones relacionadas