2013-12-20 2 views
0

Я только начинаю изучать AJAX и застрял в этой проблеме.Должна ли каждая страница AJAX проверять вход пользователя в систему?

Задача: Я хочу показать кнопку входа или выхода из системы в зависимости от того, вошел ли пользователь на мой сайт или нет.

Одно из возможных решений, которое я могу придумать, - это сделать вызов AJAX на сервер (сервлет Java), проверяющий, вошел ли пользователь в систему. Сервер будет проверять сеанс и отвечать с помощью JSON yes или no. Затем я бы отобразил правильную кнопку на стороне клиента.

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

+2

Не понимаю, почему вам нужно использовать AJAX для этого вообще. Не можете ли вы просто условно отобразить каждую кнопку при первой загрузке страницы? –

+0

Посмотрите на безопасность весны. Вы должны отправить cookie с токеном пользователя для каждого запроса, а не только на страницу. –

+0

@AntP Да, вы правы. – jiminssy

ответ

1
<c:choose> 
    <c:when test="${loggedIn}"><a href="...">Logout</a></c:when> 
    <c:otherwise><a href="...">Login</a></c:otherwise> 
</c:choose> 

Поместите это в свой JSP и, таким образом, создайте соответствующую кнопку при визуализации страницы. Нет необходимости в AJAX.

-1

Общим способом решения этой проблемы является использование файлов cookie браузера. Прочитайте сессионные файлы cookie. :)

+0

Безопасность должна быть на стороне сервера, а не на стороне клиента, поэтому она должна основываться на сеансах сервера, а не на стороне клиента. – developerwjk

Смежные вопросы