Проверка ответа сервера через JS и статус 401

Горбушка

Ищу её...
Регистрация
2 Май 2008
Сообщения
3.444
Реакции
2.524
Всем привет!
Есть задача - нужно со стороны клиента проверять ответ сервера и дальше перенаправлять на 1 из 2 url.
Всё осложняется тем, что проверять надо 401 код ответа... В осле (наверное конец света близок) всё работает как надо... А вот хром выдаёт форму авторизации...

Нужно либо прибить форму, либо получить код 401 без неё вовсе...

P.S. кому дико интересно - речь об доменной авторизации через АД. И если она работает - пихаем человека сразу на сайт, если нет - пихаем на форму авторизации...
 
не это случайно?
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

можно ещё проще сделать, на сервере что, самопис или что-то стандартное? если самопис, то можна специально для такого случая написать страничку, где это всё проверить и ничего не спрашивая редиректнуть
 
На сервере HP Service Manager... На java и с не сильно открытым кодом... Приходится через js проверять =(
И менять код ответа нереально... Надо именно его перехватить и убрать жто окошко...
 
На сервере HP Service Manager... На java и с не сильно открытым кодом... Приходится через js проверять =(
ты мжешь перед ним или рядом установить, что-то простое и проверять, ну типа одностраничный апачь, кажется проще серверный код мутить чем скриптовый
 
Нельзя, авторизация идёт через SM - писать аналог - не вариант в данном случае... Надо со стороны клиента смотреть...

Да, кстати, перенастройка браузера допустима. Можно менять всё, что угодно как в IE так и в хроме. Политики загрузим через АД...
 
Последнее редактирование модератором:
Насколько мне известно jquery.ajax - это удобная обёртка над new XMLHttpRequest(), у которого есть 5 статусов - Для просмотра ссылки Войди или Зарегистрируйся

Простенький тест нам показывает, что http код 401 мы получаем только после того как не ввели данные в форму:
HTML:
<script>
function handler() {
  console.log(this.status, this.readyState, Date.now());
}

var client = new XMLHttpRequest();
client.onreadystatechange = handler;
client.open("POST", "/auth/base.php"); //HEAD или GET погоды не меняют
client.send();
</script>

Как вариант можно попробовать на сервере разместить php скрипт (предполагается что это можно сделать на том же домене), который будет обращаться к java-серверу с присланными заголовками и отдавать в браузер, который дёргает его через ajax, json объект с информацией о том есть авторизации или нет.
 
Пхп использовать нельзя.В наличии апач, томкат, ява и ява скрипт... Яву лапать сильно затруднительно...
 
Пхп использовать нельзя.В наличии апач, томкат, ява и ява скрипт... Яву лапать сильно затруднительно...
Не суть важно использовать пых, можешь реализовать на java или JSP, если он такое умеет.
Но вот чистый ява скрипт в браузере клиента, вероятнее всего этого не сделает.
 
Последнее редактирование:
$.get(url)
.done(function() {
alert( "success" );
})
.fail(function(xhr) {
alert( xhr.status );
});
 
Назад
Сверху