аутентификация веб-страницы в jsf - PullRequest
1 голос
/ 19 января 2012

У меня проблема с определением страницы тайм-аута сеанса и навигации по странице ...

Пользователь сначала заполняет форму и отправляет ее, основываясь на результатах поиска, которые он попадет на информационную страницу. по какой-то причине, если он попытается ввести URL-адрес информационной страницы вместо того, чтобы перейти на страницу поиска, как я могу ограничить его? я пытался использовать индикатор varaible в сеансе, но это вступает в конфликт с тайм-аутом сеанса .... как мне отличить, если это тайм-аут сеанса или прямая навигация? Может ли кто-нибудь пролить свет на это и указать мне правильное направление?

Ответы [ 2 ]

1 голос
/ 19 января 2012

Насколько я понимаю, ваш вопрос: Пользователь не должен иметь доступ к определенной странице, скажем, Page1.xhtml напрямую. Сначала он должен заполнить форму на page2.xhtml, а затем должен быть направлен на эту страницу самим сервером.

Решение:

  1. Вы можете поместить page1.xhtml в каталог web-inf вашего веб-приложения, что ограничит прямой доступ к вашей веб-странице.

  2. Вы можете использовать тег securityConstraint файла web.xml и использовать безопасность контейнера для ограничения прямого доступа.

0 голосов
/ 19 января 2012

Вы можете проверить время ожидания сеанса на стороне сервера следующим образом:

if (request.getRequestedSessionId() != null && !request.isRequestedSessionIdValid()) {
    // The session has been timed out (or a hacker supplied a fake cookie).
}

Здесь request - это HttpServletRequest, который вы можете получить в контексте JSF из ExternalContext#getRequest() или, на самом деле лучше, внутри Filter просто понижение аргумента ServletRequest.

В качестве совершенно другой альтернативы вы могли бы также ввести синхронизированный опрос ajax как «сердцебиение», чтобы сеанс никогда не заканчивался, пока у пользователя открыта страница в браузере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...