var basePath = window.location.pathname.replace(/\/Login\/Login\.html/i, '');
var checkUrl = window.location.origin + basePath + '/ServiceModel/AuthService.svc/GetIsAuthenticated';
var xhr = new XMLHttpRequest();
xhr.open('GET', checkUrl, false); // Синхронный запрос блокирует рендер формы до получения ответа
xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');
try {
xhr.send();
if (xhr.status === 200) {
var response = JSON.parse(xhr.responseText);
// Если сервер подтвердил живую сессию — уводим в Shell
if (response && response.isAuthenticated === true) {
window.location.href = window.location.origin + basePath + '/0/Shell/';
return; // Полностью прекращаем инициализацию страницы логина
}
}
} catch (e) {
// В случае любой ошибки сети или сервера просто игнорируем её и показываем форму логина
console.warn("Ошибка проверки статуса авторизации, показываем форму входа:", e);
}