2012-04-05 3 views
1

Как определить, что пользователь не вышел из системы, не нажав кнопку выхода из системы, используя jQuery или javascript.Как определить, что пользователь не вышел из системы, не нажав кнопку выхода из системы?

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

Вот моя кнопка выхода:

<a id="webviewbtn" href="#"><img src="img/logout.png" style="float:right;" /></a>

+0

Если пользователь не нажимает кнопку выхода из системы, то, конечно же, пользователь не выходит из системы? Или вы имеете в виду что-то еще? o_O –

+0

Мне нужно, чтобы на моей предыдущей странице появилась функция выхода из системы – Raj

+0

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

ответ

0

При выполнении любой формы действия на вашей веб-странице, есть асинхр вызов метода или синхронно с веб-сервиса, который проверяет пользователя.

Если сервер возвращает сообщение «okay», пользователь все равно будет войти в систему. Это действие может быть выполнено при рендеринге кнопки выхода или когда пользователь выполняет любое другое «важное» действие.

Вы также можете хранить информацию в cookie с истечением срока годности. Затем это можно контролировать, если при нажатии на кнопку в браузере cookie очищается, и пользователь выходит из системы или что у вас есть.

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

+0

К сожалению, нет. Я предлагаю вам решения на концептуальной основе, а не с кодом. Вы должны написать реализацию, которая соответствует вашим потребностям, не изменяя мой код, чтобы он соответствовал. –

1

Я бы предпочел метод, который не требует асинхронного вызова на сервер, для экономии ресурсов.

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

//using php here 
setcookie('customer',1); //customer is logged in 

setcookie('customer',0); //customer is not logged in 

на вашем интерфейсе вы можете использовать jquery/javascript, чтобы проверить этот статус. Я предполагаю, что здесь у вас есть JQuery плагин печенье включен https://github.com/carhartl/jquery-cookie

if ($.cookie('customer') === 1){ 
    $('#webviewbtn').show(); //show logout button 
} 
else{ 
    $('#webviewbtn').hide(); //no logout button needed 
} 

в том, что Szenario это действительно важно, что «клиент» печенье имеет один и тот же домен, И ту же длительность, как куки сессии. В противном случае у возвращающихся клиентов может быть установлен файл cookie клиента 1, но cookie сеанса уже устарел. Также все действия, вызванные от клиента, должны быть проверены в бэкэнд, чтобы убедиться, что государственный клиент === 1 все еще действует. В противном случае у вас есть большая проблема с безопасностью, так как каждый может установить этот файл cookie в 1 :)

+0

ya..i попробую .thanks для вашей информации – Raj

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