Отправка команд со стороны сервера (.NET) в браузер

У нас есть веб-приложение, которое позволяет пользователям входить в систему и выполнять некоторую работу. Но иногда пользователи работают с нашим сайтом, открывая более одного браузера, и это доставляет нам много проблем. Как мы могли бы реализовать следующее - при входе пользователя на наш веб-сайт сделать автоматический выход из всех его ранее входивших в систему браузеров?

Большое спасибо.


person Ilan    schedule 04.08.2015    source источник
comment
Вероятно, это не то, что вы хотите услышать, но вы должны исправить проблемы, вызванные открытием более одного браузера, а не игнорировать их.   -  person CodingIntrigue    schedule 04.08.2015


Ответы (1)


Вы можете использовать JS localStorage при загрузке страницы для обнаружения входа пользователя в систему, событие будет запускаться на каждой вкладке или окне, открытом в том же домене:

function storageChange(event) {
    if(event.key == 'user_login') {

        // logout - except current window
    }
}
window.addEventListener('storage', storageChange, false);

//when user logs in
window.localStorage.setItem('user_login', true);

Это будет работать, только если пользователь использует один и тот же браузер несколько раз.

person fmgp    schedule 04.08.2015
comment
Будет ли это работать и в том случае, когда пользователь заходил с разных браузеров? - person Ilan; 04.08.2015
comment
Спасибо, но нам нужно решение и для разных браузеров. - person Ilan; 04.08.2015