Я создал веб-приложение, в котором пользователь вводит свой адрес электронной почты и пароль на странице входа. Когда кнопка входа в систему нажата, на сервер отправляется сообщение Ajax, содержащее адрес электронной почты и пароль. Как только сервер проверит правильность пароля, он устанавливает cookie-файл сеанса с идентификатором сеанса и возвращает статус HTTP OK. На стороне клиента, в случае успеха, «window.location» устанавливается в «private / home» (страница, которая защищена фильтром сервлета, который проверяет cookie сеанса и аутентифицирует клиента), и клиент может продолжать работу в обычном режиме. Однако для программирования мобильных приложений я понимаю, что файлы cookie не работают должным образом, и лучше поддерживать токены в заголовках HTTP между клиентом и сервером, чтобы поддерживать сеанс. Однако мой вопрос заключается в том, как мне реализовать это в многостраничном веб-приложении и перемещаться между страницами. Насколько я знаю, нет никакого способа установить заголовки, когда вы делаете 'window.location' или 'href'.
Код моей страницы входа в систему
$("#loginButton").click(function(){
var emailText = $("#emailInput").val().trim() ; //get input from email field in form
var passwordText = $("#passwordInput").val() ;//get input from password field in form
var allPassed = true ;
$("#emailErrorMessage").text("") ;
$("#passwordErrorMessage").text("") ;
if(emailText == "") {
$("#emailErrorMessage").text("Please enter a valid email") ;
allPassed = false ;
}
if(passwordText == "") {
$("#passwordErrorMessage").text("Please enter a valid password") ;
allPassed = false ;
}
if(allPassed) {
$.ajax({
type: "POST",
url: "loginUser",
data: {email:emailText , password:passwordText} ,
success: function(data,status,xhr) {
window.location = "private/home" ;
},
error: function(xhr , status , error) {
$("#passwordInput").val("") ;
$("#passwordErrorMessage").text("Incorrect email or password") ;
}
});
}
}) ;