У меня есть требование для веб-приложения ASP.NET, согласно которому один и тот же пользователь не может входить в систему несколько раз. Я думаю, что это мешает людям делиться именами пользователей и паролями.
Проблема, с которой я сталкиваюсь, заключается в том, что, если пользователь явно не выходит из системы, трудно сказать, по-прежнему ли он вошел в систему и использует систему или нет.
Следовательно, единственный надежный способ реализовать это - регистрировать в базе данных идентификатор пользователя, IP-адрес и временную метку каждый раз, когда пользователь взаимодействует с системой, и блокировать всех, кто не принадлежит этому IP-адресу если они попытаются войти в систему в течение десяти минут с даты последнего входа в эту таблицу.
Кто-нибудь может придумать лучший способ справиться с этим?