браузер запрашивает имя пользователя и пароль для сервера, когда пользователь не аутентифицирован, когда Http Post-запрос выполняется через $.ajax() из Jquery
у меня есть AJAX-запрос, чтобы загрузить питание выполнять при нажатии на Див позволяет назвать loadDiv
Проблема заключается в том, что когда аутентификация истекает и мы пытаемся получить доступ к веб-службе, браузер запрашивает окно сообщения с запросом учетных данных для сервера.
Или если я открою страницу aspx в двух вкладках, а затем выйдите из одной вкладки(это вызовет FormsAuthentication.SignOut()), затем я пытаюсь получить доступ к веб-сервису, нажав loadDiv in
вторая вкладка в браузере запрашивает то же самое поле для имени пользователя и пароля
.ie страница не перенаправляется на страницу входа в систему, как Get request done.
Я хочу, чтобы метод проверки того, истек ли срок действия раздела входа пользователя или нет, если истек срок действия перенаправления на страницу входа в систему
Способ Аякса
$.ajax({ type: "POST", url: urlString, contentType: "application/json; charset=utf-8", dataType: "json", data: dateAndPatientID, success: function(response) { var jposts = response.d; var itemc = false; var calcc = 0; $.each(jposts, function(index, jpost) { //Some work }); if (txt == "") txt = "No items To display"; $('#divfoodDetails' + id).append(txt); }, failure: function(msg) { details = 'Cannot find Food Items'; } });
и я использую проверку подлинности формы для своего приложения в веб-конфигурации
<system.web> <authentication mode="Forms"> <forms loginUrl="Index.aspx" protection="All" name=".OTS"></forms> </authentication> </system.web> <location path="UserArea"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location>
Метод входа в систему на странице входа содержит
string url = "UserArea/" + obj1.GetErrorURLForUserType().Substring(3); FormsAuthenticationTicket ticket = new FormsAuthenticationTicket( 1, nickname, DateTime.Now, DateTime.Now.AddMinutes(60), false, obj.UserID.ToString(), FormsAuthentication.FormsCookiePath); string enrypted = FormsAuthentication.Encrypt(ticket); HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, enrypted); Response.Cookies.Add(cookie); Session["SelectedMenuID"] = null; string[] addressarray = url.Split('/'); Session["MenuString"] = addressarray[addressarray.Length - 1]; Response.Redirect(url, false);
я нашел этот вопрос и
webservice запрашивает имя пользователя и пароль для сервера вместо перенаправления на страницу входа в систему[^]
я хочу знать, есть ли какой-либо другой способ аутентифицировать запрос на веб-сервис PLZ help.или дать какую-то полезную ссылку
ZurdoDev
Я не совсем понимаю, о чем вы спрашиваете. Если пользователь больше не аутентифицируется, то, конечно, он снова запросит учетные данные. Если вы не хотите получать приглашение, вам нужно настроить анонимный доступ к странице, но тогда вы не получите учетную запись пользователя.
Похоже, вы также хотите отправить запрос, чтобы проверить, активен ли сеанс? Если только в последнее время что-то не изменилось, вы не можете этого сделать. Почему? Потому что акт отправки запроса сбрасывает счетчик сеанса. Единственный способ, который я знаю, - это отслеживать на стороне клиента с помощью таймера, что, на мой взгляд, действительно не очень хороший вариант.