TCS54321 Ответов: 3

Как выйти из моей учетной записи при входе в систему с одной учетной записью и другой машиной


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

Что я уже пробовал:

я сохраняю текущий пользовательский UniqueID в базе данных, и когда другой пользователь входит в систему, то uniqueID изменяется для этого пользователя, а затем предыдущее использование входа-выход из системы. но я этот трюк я должен fatch уникальный идентификатор все время, когда перенаправление на странице. я хочу сделать это без использования базы данных.

Richard MacCutchan

Как браузер сможет определить, что пользователь уже вошел в систему в другой системе?

TCS54321

ты прекрасно знаешь, в чем моя проблема.. надеюсь, кто-то тоже даст решение..

MadMyche

Как вы запоминаете, кто вошел в систему?

TCS54321

я использую таблицу базы данных, в которую вставляю логин userID и один битный столбец для хранения значения isLogin в 0 и 1.

MadMyche

Затем, когда пользователь 2 войдет в систему, обновите базу данных для пользователя 1, чтобы установить IsLogin=0

3 Ответов

Рейтинг:
1

adriancs

вы можете сделать это с помощью файлов cookie.

Когда пользователь получает доступ к вашему веб-сайту с помощью нового браузера (устройства а), он создает случайную строку (как токен сеанса а) и сохраняет в браузере пользователя файлы cookie с датой истечения срока действия, установленной в 180 дней.

Сохраните случайную строку (токен сеанса а) вместе с идентификатором пользователя в базе данных.

Условие 1:
Если пользователь заходит на ваш сайт с помощью одного и того же браузера (устройства а), то один и тот же токен сеанса (токен сеанса а) будет отправлен на сервер для проверки того, что это один и тот же пользователь.

Условие 2:
Если пользователь заходит на ваш сайт с помощью другого устройства (Устройства B), то будет создан новый токен сеанса (Session Token B). Удалите "токен сеанса а" из базы данных, поэтому при следующем повторном доступе пользователя к веб-сайту на старом устройстве (устройстве а) "токен сеанса а" не сможет быть проверен, так как он уже не существует в базе данных. Таким образом, пользователь больше не сможет получить доступ к вашему сайту с устройства A.


Рейтинг:
1

Mohibur Rashid

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


TCS54321

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

Mohibur Rashid

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

Рейтинг:
0

#realJSOP

Это не так работает. Он основан на таймауте сеанса, и это может быть установлено только тогда, когда пользователь перемещается в браузере.

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