В моем приложении все страницы защищены, поэтому они должны войти в систему, чтобы посетить страницы.
И администратор системы может добавлять пользователей.
Теперь некоторые люди сказали мне, что янеобходимо запретить вход в систему одновременно с использованием той же учетной записи.
То есть, если в систему вошел пользователь с именем «Джон», поэтому другие люди не могут войти с «Джоном» снова, если он знаетпароль.
Кроме того, если один пользователь обнаружит, что кто-то вошел в систему, используя учетную запись, которую он хотел, он может отключить прежнего пользователя.Если это так, я должен судить, был ли текущий пользователь отключен или нет на каждой странице.Эту работу легко не выполнить.
Интересно, нужно ли это?
Поскольку я обнаружил, что многие веб-сайты в настоящее время не ограничивают это, например, вы можете использовать одну и ту же учетную запись.войдите в свой gmail / stackoverflow / yahoo и т. д. одновременно на разных компьютерах.
Итак, кто-нибудь может дать мне предложение?
Обновление:
Теперь мы используем аутентификацию формы asp.net (пока мы не используем членство).И в таблице t_user в базе данных у нас есть столбец с именами «isOnline» и «last_login_time».
Когда пользователь входит в систему, мы устанавливаем «isOnline» в 1 и сохраняем время входа в систему.
Когда другой пользователь пытается войти снова, мы проверяем «isOnline» и время:
if("isOnline"==1 && DateTime.now-LastLogiTIme <40min) // where the 40 min is the form authenaication timeout.
thisAccountHasLogined=true;
Но предположим, что пользователь уже вошел в систему, тогда он очистит куки браузера, затем, если он обновит страницуОн будет перенаправлен на страницу входа в систему, но не сможет снова войти в систему до истечения времени проверки подлинности формы, поскольку «isOnline» в БД равно 1, а промежуток времени от его входа в систему до настоящего времени не превышает время ожидания формы.
Я в замешательстве.