Обрабатывать запрос аутентификации www, используя ajax? - PullRequest
5 голосов
/ 27 апреля 2009

Можно ли передавать учетные данные с помощью AJAX на веб-сервер, запрашивающий www-аутентификацию?

Я хочу войти на сайт, который использует .NET Bsic www-аутентификацию, и передать учетные данные, используя ajax. При посещении сервера с помощью браузера браузер запрашивает у пользователя окно аутентификации / входа в систему.

Заголовок HTML содержит это:

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

Я хочу получить доступ к сайту «за кулисами», вызвав его из объекта ajax, но я не уверен, как обращаться с заголовком http, который запрашивает аутентификацию.

Я бы хотел, чтобы вызов ajax приводил к тому, что конкретный пользователь входил в систему (набор файлов cookie), чтобы пользователь мог позже перейти на сайт и быть "уже" залогиненным.

можно ли это сделать так, как я здесь опишу?

Ответы [ 2 ]

5 голосов
/ 12 мая 2009

Вы можете передать имя пользователя и пароль в URL следующим образом:

http://username:password@example.com/secure

Вот пример с 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:password@example.com/secure', null, function(response) {
            alert(response);
        });
    });
});

</script>

<a href="#" class="logMeIn">Log me in!</a>
0 голосов
/ 12 мая 2009

При http-аутентификации нет необходимости в файлах cookie, учетные данные хранятся в браузере, а в вашем случае для первоначального запроса - в вашем состоянии javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...