Кнопки JSF 2 ajax не выполняют серверные вызовы после истечения времени ожидания сеанса - PullRequest
4 голосов
/ 26 апреля 2011

Аутентификация моего приложения с использованием Диспетчер аутентификации RSA

Как только пользователь вошел в систему, его идентификатор пользователя извлекается из заголовка запроса, роль определяется из поиска LDAP.затем эта роль используется приложением JSF2 для отображения определенных разделов на странице и других зависимых от авторизации областей.

(Примечание: вместо RSA это может также использовать Tivoli).

Тайм-аут приложенияуправляется значением тайм-аута сеанса web.xml, которое в настоящее время установлено на 30 минут.Время ожидания RSA было установлено равным 2 минутам (для тестирования).Когда срок сеанса RSA истекает до начала сеанса приложения, и пользователь выполняет любую серверную операцию, например нажатие кнопки, RSA автоматически перенаправляет пользователя на страницу входа в систему.Работало нормально.

ПОСЛЕ Я добавил функциональность ajax для некоторых кнопок приложения, используя следующий тег f: ajax

</ h: commandLink>

теперь, когда сеанс RSA истекает, и я нажимаю на такую ​​кнопку, серверный вызов не выполняется кнопкой, скорее, он отображает всплывающее окно javascript с сообщением о неправильном формате XML: Документ пуст.

Однако, если я нажимаю кнопку F5или кнопка обновления браузера для принудительного вызова сервера, тогда более раннее поведение переадресации на страницу входа по-прежнему работает.Мне нужно каким-то образом иметь возможность сделать серверный вызов с помощью кнопок Ajaxified после истечения сеанса RSA.

любойПомощь будет оценена.

1 Ответ

2 голосов
/ 30 августа 2011

Это потому, что представление больше не существует и сервер не может воссоздать представление на сервере для выполнения ajax, вы можете попробовать что-то вроде этого:

var onError = function onError() {
   window.location = 'http://domain.com/loginPage.jsf';
 };
jsf.ajax.addOnError(onError);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...