час очікування через автентифікацію форми.вся моя сторінка входу отримує візуалізацію всередині div через оновлений ajax атрибут цільового ідентифікатора. чи є якесь рішення, при якому моя сторінка входу відкривається в новому вікні після аутентифікації таймауту замість відображення в тезі div.
я можу надати весь свій код, якщо це потрібно. допоможіть мені люди.
Спасибі заздалегідь!
Відповіді:
1 для відповіді № 1У мене була та сама проблема з веб-додатком, що і у менепрацює на. Вам потрібно встановити контролер входу з його частковим видом, включаючи ТІЛЬКИ потрібні поля входу. Коли термін дії програми закінчиться, ви будете перенаправлені на контролер входу, який поверне частковий вигляд, що включає лише ті поля, які ви хотіли. Крім того, ви можете використовувати JQuery або JS, щоб приховати всі елементи, які вам нецікаво показувати на цій сторінці.
Не забудьте встановити контролер входу у веб-конфігурації на час очікування
<authentication mode="Forms">
<forms loginUrl="~/Login" timeout="9000" />
</authentication>
Сподіваюся, це допоможе.
0 для відповіді № 2
нарешті я отримав інший шлях
У своїй дії входу ви можете додати спеціальний заголовок HTTP-відповіді:
public ActionResult LogOn(){
{
var model = ...
Response.AppendHeader("X-LOGON", "Checked");
return View(model);
}
а потім підписатися на повну подію та перевірити наявність цього заголовка та діяти відповідно:
$.ajax({
url: "/home/some_protected_action",
success: function (data, textStatus, XMLHttpRequest) {
if (XMLHttpRequest.getResponseHeader("X-LOGON") === "Checked") {
// the LogOn page was displayed as a result of this request
// probably timeout => act accordingly
window.location = "<%=Url.Content("~/Account/LogOn") %>";
window.location.reload();
}
}
});